2014-12-13 73 views
0

我試圖在wordpress中添加TinyMCE custom plugin,它使用<bdo>更改所選文本的方向。我註冊插件在WordPress:TinyMCE - 自定義插件使可視化編輯器在wordpress中變爲空白

/*Register Custom TinyMCE plugin*/ 
add_filter('mce_external_plugins', 'my_tinymce_plugins'); 

function my_tinymce_plugins() { 
    $plugins_array = array(
    'tiny' => 'tiny.js' //Plugin directory is same as theme's funtion.php 
); 
    return $plugins_array; 
} 

但它隱藏可視化編輯器完全&也使文本編輯器,無法編輯。哪裏不對?

回答

1

我想你會覆蓋所有其他插件,而不僅僅是添加你的。嘗試

function my_tinymce_plugins($plugin_array) { 
    $plugin_array['tiny'] = 'tiny.js'; 
    return $plugin_array; 
} 

改爲。您可能需要預先登錄get_stylesheet_directory_uri()tiny.js以確保URL正確。

編輯

而且您的意見,這裏的一些代碼,我幾年前用來添加一個按鈕。我不能說某些最佳做法沒有改變,但它對我有效:

add_action('init', 'immo_add_column_button'); 
function immo_add_column_button() { 
    if (! current_user_can('edit_posts') && ! current_user_can('edit_pages')) { 
     return; 
    } 
    if (get_user_option('rich_editing') == 'true') { 
     add_filter('mce_external_plugins', 'immo_add_column_tinymce_plugin'); 
     add_filter('mce_buttons', 'immo_register_addcolumn_button'); 
    } 
} 

function immo_register_addcolumn_button($buttons) { 
    array_push($buttons, "|", "addcol"); 
    return $buttons; 
} 

function immo_add_column_tinymce_plugin($plugin_array) { 
    $plugin_array['addcol'] = get_bloginfo('stylesheet_directory').'/js/immo_column_button.js'; 
    return $plugin_array; 
} 

add_filter('tiny_mce_version', 'immo_refresh_mce'); 
function immo_refresh_mce($ver) { 
    // Force refresh of TinyMCE cache by updating the version number 
    $ver += 3; 
    return $ver; 
} 
+0

感謝您的回答。 tiny.js的URI是正確的,但代碼不起作用。 Visual Composer恢復正常,但沒有按鈕不會添加到作曲家。任何想法有什麼不對? – 2014-12-13 15:06:26

+0

你也調用'mce_buttons'過濾器嗎? 'mce_external_plugins'增加了功能,'mce_buttons'增加了按鈕 – Hobo 2014-12-13 15:10:47

+0

yescourse。而且你的代碼不適用於當前版本的tinyMCE:< – 2014-12-15 15:50:40

相關問題