Я пытался добавить дополнительные кнопки в текстовый редактор tinymce в Wordpress 5.3.2. Я использую плагин Classi c Editor для использования TinyMCE вместо Гуттенберга.
Я пробовал этот пример из этой темы: https://wordpress.stackexchange.com/a/156016
add_action( 'init', 'droid_buttons' );
function droid_buttons() {
add_filter( "mce_external_plugins", "droid_add_buttons" );
add_filter( 'mce_buttons', 'droid_register_buttons' );
}
function droid_add_buttons( $plugin_array ) {
$plugin_array['droid'] = get_template_directory_uri() . '/text-button.js';
echo get_template_directory_uri();
return $plugin_array;
}
function droid_register_buttons( $buttons ) {
array_push( $buttons, 'droid_title'); // droid_title
return $buttons;
}
А потом javascript:
(function() {
tinymce.create('tinymce.plugins.Droid', {
init : function(ed, url) {
ed.addButton('droid_title', {
title : 'Droid Title',
cmd : 'droid_title',
image : ''
});
ed.addCommand('droid_title', function() {
var selected_text = ed.selection.getContent();
var return_text = "";
return_text = '<span class="droid_title">Hello I\'m <B>Mark</b>!</span>';
ed.execCommand('mceInsertContent', 0, return_text);
});
},
});
// Register plugin
tinymce.PluginManager.add( 'droid', tinymce.plugins.Droid );
})();
Я просмотрел много разных примеров, и они, похоже, все go рассматривают одну и ту же идею:
https://scanwp.net/blog/add-a-button-to-the-tinymce-editor-in-wordpress/
https://wisdmlabs.com/blog/add-buttons-menu-options-tinymce-wordpress-post-editor/
Даже те, которые предложены Кодексом Wordpress, используют ту же основную c идею:
https://code.tutsplus.com/tutorials/guide-to-creating-your-own-wordpress-editor-buttons--wp-30182
Независимо от того, что я делаю, редактор, похоже, не сталкивается с какими-либо проблемами, но новые кнопки не появляются:
Может ли это быть проблема с Wordpress 5.3.2, версией TinyMCE или каким-либо другим плагином, который я использую (CMB2, вероятно, наиболее вероятный)?