Mce_css — Предоставляет возможность добавить произвольные CSS стили (CSS файл) для визуального редактора WordPress TinyMCE. Хук-фильтр WordPress

Опубликовано: 01.09.2018

Предоставляет возможность добавить произвольные CSS стили (CSS файл) для визуального редактора WordPress TinyMCE.

Функция передает параметр $mce_css, в котором через запятую указываются УРЛы к css файлам.

Кроме файла .css можно указать УРЛ к файлу .php, когда нужно динамически создавать стили.

Этот хук следует применять при написании плагина. Если вам нужно добавить файл стилей из темы, то используйте специальную функцию add_editor_style() .

Использование

add_filter( 'mce_css', 'plugin_mce_css' ); function plugin_mce_css( $mce_css ) { if ( ! empty( $mce_css ) ) $mce_css .= ','; $mce_css .= plugins_url( 'editor.css', __FILE__ ); return $mce_css; } $mce_css(строка) УРЛы на css файлы, разделенные запятыми.

Примеры

#1 Подключение шрифта от Google

Так как mce_css - это строка УРЛов, разделенных запятыми, в добавляемом УРЛ запятых быть не должно. Но они есть в ссылке на шрифт от Google, когда подключаются несколько типов одного шрифта, пр: 'http://fonts.googleapis.com/css?family=Lato:300,400,700'. Чтобы подключить эту ссылку, нужно кодировать УРЛ или заменить запятые на знак "%2с":

add_filter( 'mce_css', 'plugin_mce_css' ); function plugin_mce_css( $mce_css ) { if ( ! empty( $mce_css ) ) $mce_css .= ','; $font_url = 'http://fonts.googleapis.com/css?family=Lato:300,400,700'; // $mce_css .= urlencode( $font_url ); // или следующая строка $mce_css .= str_replace( ',', '%2C', $font_url ); return $mce_css; }

Где используется хук

... if ( strpos( $url, ',' ) !== false ) { $editor_styles[ $key ] = str_replace( ',', '%2C', $url ); } } $mce_css .= ',' . implode( ',', $editor_styles ); } /** * Filters the comma-delimited list of stylesheets to load in TinyMCE. * * @since 2.1.0 * * @param string $stylesheets Comma-delimited list of stylesheets. */ $mce_css = trim( apply_filters( 'mce_css', $mce_css ), ' ,' ); if ( ! empty( $mce_css ) ) { $settings['content_css'] = $mce_css; } else { unset( $settings['content_css'] ); } self::$first_init = $settings; } if ( $set['teeny'] ) { /** * Filters the list of teenyMCE buttons (Text tab). * ...
rss