Intereting Posts
Можно ли остановить выбранные плагины от загрузки на определенных страницах шаблона? Изменить меню на основе пользовательских пользователей Отображение миниатюры сообщений (вложения) в списке категорий archive.php Секретные ключи в SCM Фильтры / массовые действия возвращают неправильный URL-адрес в панели управления администратора WordPress в подкаталоге другой среды WordPress не работает Добавление персонализированного типа сообщения для подсчета в категории Получить заголовки всех сообщений с текущими тегами, кроме текущей записи Развернуть подкатегории с Ajax не работает изменить только язык темы Показать сообщение первым в цикле Форма контакта WordPress 7: динамическое заполнение значения поля с помощью PHP сайт с довольно постоянными ссылками, кроме разбивки на страницы WP_Query Pagination на single-custom.php Коррумпированный дизайн / внешний вид WordPress

Кнопка Anchor TinyMCE не отображается

Я использую этот фильтр и функцию для отображения пользовательской, урезанной версии редактора TinyMCE. Все работает так, как должно … кроме кнопки «Якорь» не будет отображаться («якорь»)? Согласно веб-сайту TinyMCE ( http://www.tinymce.com/wiki.php/Controls ), это элемент управления.

Кто-нибудь знает, почему кнопка якоря не будет отображаться?

введите описание изображения здесь

EDIT: пример кода приходит отсюда (это показывает полный код, который я использую, а не только фрагмент ниже): https://gist.github.com/mrwweb/9937127

add_filter( 'mce_buttons', 'wpse_mce_buttons_1' ); function wpse_mce_buttons_1( $buttons ) { $buttons = array( 'styleselect', 'bold', 'italic', 'link', 'unlink', 'bullist', 'numlist', 'table', 'anchor'); return $buttons; } add_filter( 'mce_buttons_2', 'wpse_mce_buttons_2' ); function wpse_mce_buttons_2( $buttons ) { $buttons = array(); return $buttons; } 

У меня была такая же проблема, и я нашел решение этого.

Проблема в том, что якорный плагин для TinyMCE не входит в стандартную установку WordPress. Поэтому, пока WordPress говорит, что он включает:

 $buttons[] = 'anchor'; 

… это не сработает, потому что плагина TinyMCE для якорей нет.

Если вы перейдете на сайт TinyMCE , вы можете загрузить полный пакет напрямую. После этого вы захотите переместить / js / tinymce / plugins / anchor / в вашу установку WordPress в / wp-includes / js / tinymce / plugins /.

В принципе, вы хотите иметь / wp-includes / js / tinymce / plugins / anchor / в вашей установке.

Как только это доступно, вам нужно добавить функцию, которая сообщает TinyMCE, что он ищет этот плагин (либо в функции functions.php вашей темы, либо добавлен в плагин):

 function my_mce_external_plugins($plugins) { $plugins['anchor'] = '/wp-includes/js/tinymce/plugins/anchor/plugin.min.js'; return $plugins; } add_filter('mce_external_plugins', 'my_mce_external_plugins'); 

И теперь он будет доступен для кнопки, которая будет добавлена ​​в визуальный редактор:

 function extra_editor_buttons($buttons) { $buttons[] = 'anchor'; $buttons[] = 'superscript'; $buttons[] = 'subscript'; return $buttons; } add_filter("mce_buttons_2", "extra_editor_buttons"); 

И вуаля:

Текстовый редактор WordPress, теперь с кнопкой анкера

Это решение было вдохновлено этим связанным вопросом, который касался кнопки кода в TinyMCE, но имел то же самое решение (плагин отсутствовал). Оба якорных и кодовых плагинов отсутствуют, и есть ошибка для добавления файлов, поэтому, возможно, это не будет проблемой в будущих версиях.

Надеюсь, это тоже поможет кому-то другому!

Ваш первый фильтр неверен. «styleselect» дает вам и генерирует выпадающее меню на tinyMCE. Вы не можете добавить такую ​​информацию.

Вот что делать.

Хороший способ:

Сначала создайте отдельный файл под названием «custom_wp_admin_editor_tinymce.php» (или когда-либо). Внутри функции.php включите файл с правильным путем, где вы создали свою предыдущую функцию.

 // Add the heading dropdown (x6) and add the format dropdown include_once(TEMPLATEPATH.'/Path to you doc/custom_wp_admin_editor_tinymce.php'); 

Вот ваш шаблон custom_wp_admin_editor_tinymce.

 <?php // Add the heading dropdown (x6) and add the format dropdown function enable_style_dropdown($buttons) { $buttons[] = 'styleselect'; return $buttons; } add_filter("mce_buttons_2", "enable_style_dropdown"); function myformatTinyMCE( $in ) { $in['block_formats'] = 'Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6'; $style_formats = array ( array( 'title' => 'bold', 'block' => 'p', 'classes' => 'bold' ), array( 'title' => 'italic', 'block' => 'p', 'classes' => 'italic' ), array( 'title' => 'link', 'block' => 'p', 'classes' => 'link' ), array( 'title' => 'unlink', 'block' => 'p', 'classes' => 'unlink' ), array( 'title' => 'bullist', 'block' => 'p', 'classes' => 'bullist' ), array( 'title' => 'numlist', 'block' => 'p', 'classes' => 'numlist' ), array( 'title' => 'table', 'block' => 'p', 'classes' => 'table' ), array( 'title' => 'anchor', 'block' => 'p', 'classes' => 'anchor' ) ); $in['style_formats'] = json_encode( $style_formats ); $in['style_formats_merge'] = false; $in['wordpress_adv_hidden'] = false; return $in; } add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' ); ?> 

Грязный способ:

Прошлый предыдущий код непосредственно внутри function.php