tinymce.PluginManager.add
在 WordPress 4.7.2 中不再有效的问题可能是由于 WordPress 对 TinyMCE 编辑器的内部实现进行了更改,导致旧版本的插件添加方式不再兼容。
TinyMCE 是一个流行的富文本编辑器,广泛用于 WordPress 等内容管理系统(CMS)中。tinymce.PluginManager.add
是一个用于向 TinyMCE 添加自定义插件的方法。
WordPress 4.7.2 可能更新了 TinyMCE 的版本或改变了其初始化方式,导致旧的插件注册方法不再适用。
以下是解决这个问题的步骤:
确保你使用的 TinyMCE 插件是最新的,并且与 WordPress 4.7.2 兼容。
WordPress 提供了一种新的方式来注册 TinyMCE 插件。你可以在主题的 functions.php
文件或自定义插件中使用以下代码:
function my_custom_tinymce_plugins($init_array) {
$init_array['plugins'][] = 'myplugin';
return $init_array;
}
add_filter('tiny_mce_before_init', 'my_custom_tinymce_plugins');
function myplugin_register_buttons($buttons) {
array_push($buttons, 'mybutton');
return $buttons;
}
add_filter('mce_buttons', 'myplugin_register_buttons');
function myplugin_register_plugin($plugin_array) {
$plugin_array['mybutton'] = get_template_directory_uri() . '/js/myplugin.js';
return $plugin_array;
}
add_filter('mce_external_plugins', 'myplugin_register_plugin');
在你的主题目录下创建一个 js
文件夹,并在其中创建 myplugin.js
文件,内容如下:
tinymce.PluginManager.add('myplugin', function(editor, url) {
editor.addButton('mybutton', {
text: 'My Button',
onclick: function() {
alert('Hello, World!');
}
});
});
确保清除浏览器缓存和 WordPress 缓存,以便更改生效。
以下是一个完整的示例,展示了如何在 WordPress 中注册和使用自定义 TinyMCE 插件:
// functions.php
function my_custom_tinymce_plugins($init_array) {
$init_array['plugins'][] = 'myplugin';
return $init_array;
}
add_filter('tiny_mce_before_init', 'my_custom_tinymce_plugins');
function myplugin_register_buttons($buttons) {
array_push($buttons, 'mybutton');
return $buttons;
}
add_filter('mce_buttons', 'myplugin_register_buttons');
function myplugin_register_plugin($plugin_array) {
$plugin_array['mybutton'] = get_template_directory_uri() . '/js/myplugin.js';
return $plugin_array;
}
add_filter('mce_external_plugins', 'myplugin_register_plugin');
// js/myplugin.js
tinymce.PluginManager.add('myplugin', function(editor, url) {
editor.addButton('mybutton', {
text: 'My Button',
onclick: function() {
alert('Hello, World!');
}
});
});
通过以上步骤,你应该能够在 WordPress 4.7.2 中成功注册和使用自定义 TinyMCE 插件。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云