2012-11-03 73 views
0

我正在嘗試編寫一個插件來爲所有用戶禁用WordPress WSYIWYG編輯器。在Wordpress中禁用WYSISYG編輯器

我寫了一些代碼來刪除tinymce目錄,但是這打破了編輯器 - 你不能寫任何東西或使用HTML標籤。

$dirName = ABSPATH . '/wp-includes/js/tinymce'; 
if (is_dir($dirName)) { 
    rename("$dirName", $dirName."_DISABLED"); 
} 

我試圖仿效當您選擇在用戶設置選項卡中勾選「寫入時禁用可視化編輯器」,但所有用戶的所有的時間會發生什麼。

回答

1

如果你想要去的一個非常正面的解決方案,你可以直接在數據庫中模擬通過更新幾行,像:

UPDATE wp_usermeta SET meta_value = 'false' WHERE meta_key = 'rich_editing'; 

否則,如果你想使用WordPress的功能,你可以使用update_user_meta。這裏是DOC:http://codex.wordpress.org/Function_Reference/update_user_meta

+0

讓 - 謝謝,這讓我在那裏(我已經在[我的答案](http://stackoverflow.com/a/13211271/165673)包括完整的代碼) – Yarin

0

讓指明瞭方向,但想分享完整的工作代碼:

在我的插件:

// Only do this if we're in admin section: 
if(is_admin()) { 
    // Add the action on the init hook, when user stuff is already initialized: 
    add_action('init', 'disable_rich_editing'); 
} 
function disable_rich_editing(){ 
    $current_user = wp_get_current_user(); 
    $isRichEditing = $current_user->get('rich_editing'); 
    if ($isRichEditing) { 
     update_user_meta($current_user->ID, 'rich_editing', 'false'); 
    } 
} 

作用:

通常情況下,禁用所見即所得的唯一方法是在每個用戶的設置頁面上選擇「在編寫時禁用可視化編輯器」。這將強制所有用戶始終檢查該選項,即使他們試圖取消選中它。