在wordpresstinyMCE中添加“代码”按钮

问题描述 投票:0回答:3

我一直在关注这个教程,很多人都喜欢它:http://codex.wordpress.org/TinyMCE_Custom_Buttons

function myplugin_addbuttons() {
   // Don't bother doing this stuff if the current user lacks permissions
   if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') )
     return;

   // Add only in Rich Editor mode
   if ( get_user_option('rich_editing') == 'true') {
     add_filter('mce_buttons', 'register_myplugin_button');
   }
}

//Should add 'code' to the tinyMce buttons on the rich editor.
function register_myplugin_button($buttons) {
   array_push($buttons, "code");
   return $buttons;
}


// init process for button control
add_action('init', 'myplugin_addbuttons');

我想做的就是将“代码”按钮添加到富文本编辑器中。它已经在 HTML 编辑器端了。从教程提到的方式来看,似乎我可以将 array_push“代码”写入按钮。但这不起作用。我做错了什么?

php wordpress button tinymce
3个回答
3
投票

如果您有权向 TinyMCE 配置添加设置(根据您之前的评论,我不确定您是否这样做),那么您可以添加以下内容。

style_formats : [{title : 'Code', inline : 'code'}]

这将执行的操作是在“样式”下拉列表中添加一个“code”项目,该项目会将所选文本包装在代码标签中。

如果您无法访问配置来添加此内容,那么您可能需要开发一个 TinyMCE 插件,以编程方式注册该格式。顺便说一句,您引用的 WordPress 文章中如何开发 TinyMCE 插件的链接不再正确。请查看操作方法文章

最后,如果所有其他方法都失败,您可以开发一个插件,将所选文本 (ed.selection.getContent()) 包装在代码中,并使用 ed.selection.setContent()

返回它

3
投票

我编写了一个插件,它正是这样做的,即它提供了一个名为“codeElement”的按钮,用户可以使用该按钮将文本包装在代码元素或标签中。


1
投票

刚刚偶然发现了 http://wordpress.org/plugins/tinymce-code-element/ WordPress 插件,它可以完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.