Zeno Font Resizer


This plugin allows you to give the visitors of your site the option to change the font size of your text.


  • Uses JavaScript and jQuery to set the fontsize.
  • Settings are saved in a cookie, so the visitor sees the same fontsize on a revisit.
  • Admin page to set which content is being resized, the resize steps and other options.
  • You can use the standard widget or you can use code to add to your theme.
  • Simple and Lightweight.

This plugin is a fork of font-resizer with many bugfixes applied and features added.


This plugin is compatible with ClassicPress.


  • A productive example of the widget.
  • Adding the widget.
  • Settings page.


  1. Upload the directory zeno-font-resizer to the /wp-content/plugins/ directory or install the plugin directly with the ‘Install’ function in the ‘Plugins’ menu in WordPress.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Add the sidebar widget through the ‘Appearance / Widgets’ menu in WordPress.
  4. If you don’t want to use the widget, you can use the template code somewhere in your template. Please check the FAQ.
  5. Define which content should be resized on the ‘Zeno Font Resizer’ admin page (optional). If you are not familiar with html and css, select the html option (default). This would resize all the content of your site.


How can I activate the function of the plugin?

Go to the admin page of the plugin and select your option. If you are not familiar with html and css, select the html option (default). This would resize all the content of your site.

I click the resizer, but (some of) my fonts don’t change in size.

The plugin expects the CSS of your theme to be set up in a flexible way. When you have a static font-size like 14px or 14pt for your menu or content elements, this will not be affected by the plugin. This way of using font-size is maybe pixel-perfect for the designer, but not accessible for the user, so you should only use it for design elements, like a text overlay for an image.

When you use a percentage, like 100% or 124%, it is dynamic and will follow (inherit) the font-size of the parent (and so up).
The same dynamic counts for setting in em.

I use font-size in rem in my theme, what do I do?

The font-size in rem is relative to the font-size of the root element. So you can go to the Settingspage of this plugin,
and set the html element as the element to change the font-size of (default since 1.4.4). Now your rem elements should follow the resizing.

How can I use the plugin without the widget?

Use this snippet of PHP code (in your theme or somewhere):

    if (function_exists('zeno_font_resizer_place')) {

How can I use the template code and do stuff with it?

You can use the parameter ‘$echo = false’ and the function will return the html-string:

    if (function_exists('zeno_font_resizer_place')) {
        $font_resizer = zeno_font_resizer_place( false );
        // do stuff with $font_resizer...

How can I change the color of the A’s?

With CSS in your theme.
Use something like:

p.zeno_font_resizer > a {
    color: blue;

On the widget I see text meant for screen-readers.

Your theme is missing some necessary CSS for ‘.screen-reader-text’. Please contact the maker of your theme.
More information can be found in the Handbook about Accessibility.

I want to use a shortcode in my content element

There is an additional plugin on Github you can use for that.


2020 年 8 月 5 日
Does it's job perfectly, had to tweak the defaults a little but will be adding to all my WooCommerce / WP sites... Thank you for sharing your work!
2019 年 11 月 15 日
Installation was easy and worked as expected. Nice, flexible settings to suit most themes or applications. Forum Support was great and very helpful. This plugin helps with WCAG 2.0 Level AA compliance. Thanks!
2018 年 8 月 5 日
Easy to use and simple to set up. It functionally works flawlessly for my purpose, but could do with a few more features to make it easier for customisation by those with little knowledge. Decent support. My one issue was resolved in a few days.
閱讀全部 16 則使用者評論


以下人員參與了開源軟體〈Zeno Font Resizer〉的開發相關工作。


Zeno Font Resizer 外掛目前已有 4 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將 Zeno Font Resizer 外掛本地化為台灣繁體中文版


任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄



  • 2020-04-13
  • Better use of esc_html functions.
  • Update support text on admin page.


  • 2019-01-25
  • Add CSS for broken themes.


  • 2018-12-30
  • Update js-cookie.js from 2.1.3 to 2.2.0.
  • Font-size for increase character changed from 1.2em to 1.3em.


  • 2018-07-04
  • Add screen-reader-text to widget links.


  • 2017-08-26
  • Add callback after font resize with example code.
  • Font size has maximum 2 decimals.


  • 2016-10-25
  • Update js-cookie to 2.1.3.


  • 2016-04-13
  • No need to set the cursor to pointer, it is default behaviour.
  • More use of parseFloat.
  • Update Donate text.


  • 2016-02-09
  • Cast to float so value saved in cookie can be used.


  • 2015-12-04
  • Drop pot, nl_NL, they are maintained at GlotPress.


  • 2015-11-29
  • Use Settings API.


  • 2015-11-28
  • Only support WordPress 3.7+, since they really are supported.
  • Add option for Min and Max font size (default 10 and 24 px).
  • On click, return false everywhere.
  • Add link to FAQ on Settings page.
  • Update pot, nl_NL.


  • 2015-09-05
  • Change text-domain to slug.
  • Add radiobutton for ‘body’.
  • Update pot, nl_NL.


  • 2015-08-05
  • Use h1 header on admin page.
  • Update pot, nl_NL.


  • 2015-07-30
  • Use ‘html’ as default element instead of ‘body’ for compatibility with rem sizes.


  • 2015-05-31
  • Add About text.
  • Update pot and nl_NL.


  • 2015-05-26
  • Add ‘return false’ on click event.


  • 2015-05-24
  • Add $echo parameter to template code.


  • 2015-05-24
  • Redo widget properly.
  • Update pot, nl_NL.


  • 2015-05-22
  • Forked from font-resizer.
  • Capability for settingspage is manage_options.
  • Radio buttons have working labels.
  • Delete cookieTime option on uninstall.
  • Add Copyright notice.
  • Add Settings link to main Plugins page.
  • Don’t use WP_PLUGIN_URL for JavaScript enqueue.
  • Add version to JavaScript enqueue.
  • Only enqueue on frontend.
  • Load JavaScript in footer.
  • Update jQuery.cookie to js-cookie 1.5.1.
  • Integrate main.js into jquery.fontsize.js to trim down on loaded files.
  • Move screenshots from trunk to assets.
  • Set list-style to none.
  • Add href attribute for accessibility, tabbing works now.
  • Add option to define your own letter, default is ‘A’.
  • Add header to the widget, but not the template function.
  • Add maximum and minimum sizes (5 steps from startsize).
  • Add possibility for translation.
  • Add pot, nl_NL.


  • Widget bug fix


  • Added banner img


  • Nothing relevant


  • Fixed some deprecated functions


  • Updated readme


  • Little jquery bugfix for function ownid


  • Fixed PHP problem


  • Fixed problem with Internet Explorer


  • Added option for cookie save time to admin pane
  • Edited install instructions

  • Added an answer to FAQ


  • Fixed JavaScript issue with qTranslate
  • Refactured jQuery scripts


  • Added an option for changing the font resize steps
  • Added comments to source code
  • Cleaned up source code
  • Changed css classes of the visible resizer element in the sidebar


  • Bugfix for different directory structure (like language structure, yourdomain.tld/en/ for english)


  • Added menu page
  • Changed default resizable element from a div with id innerbody to body element
  • Added uninstall hooks
  • Added some answer to FAQ


  • First stable version
  • Publish the plugin