TinyMCE - 自定义插件使wordpress中的可视化编辑器空白

时间:2014-12-13 10:40:29

标签: wordpress tinymce

我正在尝试在wordpress中添加TinyMCE custom plugin,使用<bdo>更改所选文字的方向。我在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 个答案:

答案 0 :(得分:1)

我认为你覆盖了所有其他插件,而不仅仅是添加你的插件。尝试

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

代替。您可能需要在get_stylesheet_directory_uri()前加tiny.js以确保网址正确无误。

修改

继续你的评论,这里是我几年前用来添加按钮的一些代码。我不能说某些最佳实践没有改变,但它对我有用:

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;
}