Function and usage of add_editor_style() in wordpress


Answers ( 1 )


    The add_editor_style() function in WordPress is a useful tool for theme developers, allowing them to add custom style sheets for the TinyMCE editor, which is the default content editor in WordPress. This function enhances the visual consistency between the content as it appears in the editor and how it is displayed on the actual site. Here's a detailed explanation and sample usage:


    add_editor_style( array|string $stylesheet = ‘editor-style.css’ )


    • The add_editor_style() function is used to add custom style sheets to the TinyMCE editor within WordPress.
    • The $stylesheet parameter specifies the name(s) of the stylesheet(s), relative to the theme's root directory.
    • It can be a single stylesheet name (as a string) or an array of stylesheet names.
    • By default, if no value is provided, it uses ‘editor-style.css’.
    • This function also handles right-to-left (RTL) text styling:
      • It automatically adds an RTL version of the stylesheet (with a -rtl suffix, e.g., editor-style-rtl.css).
      • If the RTL file doesn't exist, it's ignored.
      • For an array of stylesheets, RTL styling is only added for the first stylesheet.
    • Starting from WordPress 3.4, the TinyMCE body includes a .rtl CSS class. It's recommended to use this class for RTL styles instead of a separate RTL stylesheet.


    • $stylesheet (array|string) (Optional): The name of the stylesheet, or an array of stylesheet names, relative to the theme root.
      • Default value: 'editor-style.css'

    Sample Usage:

    1. Adding a Single Stylesheet:

      function my_theme_add_editor_styles() {
          add_editor_style( 'custom-editor-style.css' );
      add_action( 'admin_init', 'my_theme_add_editor_styles' );
    2. Adding Multiple Stylesheets:

      function my_theme_add_editor_styles() {
          add_editor_style( array( 'custom-editor-style.css', 'another-editor-style.css' ) );
      add_action( 'admin_init', 'my_theme_add_editor_styles' );
    3. Using Default Stylesheet:

      • If you have a stylesheet named editor-style.css in your theme directory, you can just call add_editor_style(); without any parameters.

    Best Practices:

    • Ensure that the styles defined in the editor stylesheets match the front-end styles for a consistent editing experience.
    • Use the .rtl class for RTL styling within the same stylesheet to reduce the number of files and complexity.

    Using add_editor_style() is a straightforward yet powerful way to customize the WordPress editing experience, ensuring what users see in the backend closely matches the front-end display.

Leave an answer