您的功能彼此无关。您只需要一个按钮,单击该按钮即可添加[tooltips class="top_tooltip" title="Your Tooltip here"] Text here [/tooltip]
给编辑?
--这就是你目前正在做的--
First Function: function tooltip( $button )
正在添加工具提示短代码
Second Function: mce_tooltip( $button )
正在添加superscript 编辑器工具栏的按钮
Third Function: mce_tooltip( $init_array )
是将样式添加到styles format dropdown editor 工具栏菜单。但是,它不会做任何事情,因为数组没有生成任何内容。
除了第二个函数和第三个函数与将您的短代码添加到编辑器无关之外,它很可能会执行任何操作或导致错误。
不能有太多同名函数。您正在使用mce\\u tooltip()两次:
这行不通:
function mce_tooltip( $button ) {
// some code here
}
add_filter(\'mce_buttons_2\', \'mce_tooltip\');
function mce_tooltip( $init_array ) {
// some code here
}
add_filter( \'tiny_mce_before_init\', \'mce_tooltip\' );
而这将:
function mce_tooltip( $button ) {
// some code here
}
add_filter(\'mce_buttons_2\', \'mce_tooltip\');
function mce_tooltip( $init_array ) {
// some code here
}
add_filter( \'tiny_mce_before_init\', \'mce_tooltip\' );
删除当前拥有的内容,然后添加此内容以添加自定义按钮:
add_action(\'admin_head\', \'add_my_shortcode_tooltip_button\');
function add_my_shortcode_tooltip_button() {
global $typenow;
if ( !current_user_can(\'edit_posts\') && !current_user_can(\'edit_pages\') ) {
return;
}
if( ! in_array( $typenow, array( \'post\', \'page\' ) ) )
return;
if ( get_user_option(\'rich_editing\') == \'true\') {
add_filter(\'mce_external_plugins\', \'my_theme_tooltip_add_tinymce_plugin\');
add_filter(\'mce_buttons\', \'my_theme_tooltip_register_tinymce_plugin\');
}
}
function my_theme_tooltip_add_tinymce_plugin($plugin_array) {
$plugin_array[\'ttip_shortcode_button\'] = get_stylesheet_directory_uri() . \'/js/editor-tooltip-button.js\';
return $plugin_array;
}
function my_theme_tooltip_register_tinymce_plugin($buttons) {
array_push($buttons, "ttip_shortcode_button");
return $buttons;
}
然后,要构建按钮本身,请在以下位置创建javascript文件:
wp-content/themes/my-theme/js/editor-tooltip-button.js
在文件中添加以下代码:
(function() {
tinymce.PluginManager.add(\'ttip_shortcode_button\', function( editor, url ) {
editor.addButton( \'ttip_shortcode_button\', {
text: \'[TOOLTIP]\',
icon: false,
onclick: function() {
editor.insertContent(\'[tooltips class="top_tooltip" title="Your Tooltip here"] Text here [/tooltip]\');
}
});
});
})();
或者省去你的头疼,使用一个插件:
http://wordpress.org/plugins/better-shortcodes/screenshots/
http://wordpress.org/plugins/shortcodes-pro/screenshots/
http://wordpress.org/plugins/shortcodes-ui/screenshots/