問題描述
隨着 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。