问题描述
随着 WordPress 3.9 即将推出,它带来了 TinyMCE 4.0 。我通过一些测试来运行我的插件和功能,发现我的一个功能似乎破坏了/不能使用新的 tinyMCE
function myformatTinyMCE( $in )
{
$in['theme_advanced_buttons1'] = 'bold';
$in['theme_advanced_buttons2'] = 'formatselect';
$in['wordpress_adv_hidden'] = false;
return $in;
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );
以上功能用于将 tinyMCE 中的按钮限制为特定的按钮,我已经简化了一些,使其更容易进行测试。如果我打印出 $in
,它会在正确的位置显示正确的值,但是当我实际加载页面时,它只是默认为普通按钮。
我也尝试使用 TinyMCE Codex 中的示例,这似乎没有任何效果。
我正在使用 WordPress Beta Tester 插件,我确实安装了 TinyMCE Advanced,但禁用。
随着新 TinyMCE 如何继续使用/定制,有没有从以前的 TinyMCE 版本改变的’Gotchas’?
编辑
看起来像 $in['wordpress_adv_hidden'] = false;
不再被使用 – 不知道如何取消隐藏厨房水槽。
最佳解决方案
字符串是新的,不再符合您的要求。
这是钩子的新内容。
array (
'selector' => '#content',
'resize' => 'vertical',
'menubar' => false,
'wpautop' => true,
'indent' => false,
'toolbar1' => 'template,|,bold,italic,strikethrough,bullist,numlist,blockquote,hr,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,wp_fullscreen,wp_adv',
'toolbar2' => 'formatselect,underline,alignjustify,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help',
'toolbar3' => '',
'toolbar4' => '',
'tabfocus_elements' => 'insert-media-button,save-post',
'body_class' => 'content post-type-post post-status-draft post-format-standard',
)
还要将源中数组中的字符串更改为:
function myformatTinyMCE( $in ) {
$in['toolbar1'] = 'bold';
$in['toolbar2'] = 'formatselect';
return $in;
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );
但是也可以看看这个测试插件 Gist 9758082 和 this thread 为 WP 3.9 和新的 TinyMCE 4.0 了解主题。
强制工具栏 2
要始终显示工具栏 2,不用按钮 wp_adv
将以下源添加到插件中。
add_action( 'plugins_loaded', 'fb_force_show_toolbar2' );
function fb_force_show_toolbar2() {
set_user_setting( 'hidetb', 1 );
}
但是,现在提示值为 wordpress_adv_hidden
。在下一个 WordPress 版本中,3.9 之后将恢复旧挂钩 wordpress_adv_hidden
切换工具栏,请参阅 ticket 27963 。然后可以使用跟随来源。 $in['wordpress_adv_hidden'] = FALSE;
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );
function myformatTinyMCE( $in ) {
$in['wordpress_adv_hidden'] = FALSE;
return $in;
}
次佳解决方案
一个变化是:
theme_advanced_buttons1
将更改为:
toolbar1
允许您更新按钮,使我的新功能看起来像:
function myformatTinyMCE( $in ) {
$in['toolbar1'] = 'bold';
$in['toolbar2'] = 'formatselect';
return $in;
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );
另外看起来 formatselect
在这个迭代中并不是很受欢迎。应该可以转换到 styleselect
,因为它允许更多的选项和自定义 (例如嵌套样式),并且还具有更简约的设计。
另一个 getcha 是对齐选项已经从 justify
更改为 align
像 alignleft, aligncenter, alignright, alignjustify
。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。