問題描述

隨着 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 9758082this 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 更改為 alignalignleft, aligncenter, alignright, alignjustify

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。