Intereting Posts
wp_insert_post в то же время, что и результат сохранения сообщения в 502 Bad Gateway Как взаимодействовать с другой установкой wordpress в той же базе данных? Получение предупреждения при удалении настраиваемых полей Автоматическое создание пользовательского заголовка сообщения Добавить пользовательский фон в раздел на главной странице Поиск пользователей с плагином WP_List_Table WP_Query и проблема полиланга Не удалось вставить термин в базу данных 404 при попытке поиска по категориям или по тегу Есть ли какая-либо запись установленных плагинов в базе данных? Как переопределить фильтр в дочерней теме? Плагин Boogle плагина WordPress – add_action hook в статической функции «активировать» Есть ли способ предоставить пользователю список существующего контента в CPT Индивидуальная разбивка по страницам, одностраничная страница Неустранимая ошибка: не удается обновить при переключении тем

tiny_mce_before_init предотвращает появление значка пользовательского ярлыка

Я использую следующее, чтобы обрезать редактор TinyMCE

 // Ограничить кнопки в текстовом редакторе
 функция formatTinyMCE ($ in)
 {
     $ in ['remove_linebreaks'] = false;
     $ in ['gecko_spellcheck'] = false;
     $ in ['keep_styles'] = true;
     $ in ['accessibility_focus'] = true;
     $ в ['tabfocus_elements'] = 'major-publishing-actions';
     $ in ['media_strict'] = true;
     $ in ['paste_remove_styles'] = true;
     $ in ['paste_remove_spans'] = true;
     $ in ['paste_strip_class_attributes'] = 'none';
     $ in ['paste_text_use_dialog'] = true;
     $ in ['wpeditimage_disable_captions'] = true;
     $ in ['plugins'] = 'inlinepopups, tabfocus, paste, media, wordpress, wpeditimage, wpgallery, wplink, wpdialogs, infographic';
     $ in ['content_css'] = get_template_directory_uri ().  "/editor-style.css";
     $ in ['wpautop'] = true;
     $ in ['apply_source_formatting'] = false;
     $ in ['theme_advanced_blockformats'] = 'p, h3';
     $ in ['theme_advanced_buttons1'] = 'formatselect, |, полужирный, курсив, blockquote, |, link, unlink, |, bullist, numlist, infographic |, wp_fullscreen, wp_adv';
     $ in ['theme_advanced_buttons2'] = 'pastetext, pasteword, removeformat, |, undo, redo';
     $ in ['theme_advanced_buttons3'] = '';
     $ in ['theme_advanced_buttons4'] = '';
     return $ in;
 }
 add_filter ('tiny_mce_before_init', 'formatTinyMCE');

Затем у меня есть плагин для создания дополнительной кнопки короткого кода:

 функция fetchInfographic () {  
     возвращение «ЗДЕСЬ БЫТЬ ИНФОГРАФИЧЕСКИМ»;  
 }
 add_shortcode ('инфографика', 'fetchInfographic');

 function addButton () {  
     if (current_user_can ('edit_posts') && current_user_can ('edit_pages'))  
     {  
         add_filter ('mce_external_plugins', 'addPlugin');  
         add_filter ('mce_buttons', 'registerButton');  
     }  
 }  
 add_action ('init', 'addButton');

 function registerButton ($ buttons) {  
     array_push ($ buttons, "infographic"); 
     return $ buttons;  
 }  

 function addPlugin ($ pluginArray) {  
     $ pluginArray ['infographic'] = plugins_url ('infographic_plugin.js', __FILE__); 
     return $ pluginArray; 
 }  

(infographic_plugin.js)

 (функция () {  
     tinymce.create ('tinymce.plugins.infographic', {  
         init: function (ed, url) {  
             console.log ( 'URL');
             ed.addButton ('инфографический', {  
                 title: «Добавить инфографику»,  
                 image: url + '/ dashboard.png',  
                 onclick: function () {  
                      ed.selection.setContent ( '[инфографика]');  

                 }  
             });  
         },  
         createControl: function (n, cm) {  
             return null;  
         },  
     });  
     tinymce.PluginManager.add («инфографика», tinymce.plugins.infographic);  
 }) ();  

Это отлично работает, если я удалю функцию formatTinyMCE, однако с ней кнопка просто не появляется. Как вы можете видеть по функции, которую я пытался добавить «инфографика» в $ в ['plugins'] и $ в ['theme_advanced_buttons1'], но это не имеет никакого эффекта.