0

すべてのユーザーに対して WordPress WSYIWYG エディターを無効にするプラグインを作成しようとしています。

tinymce ディレクトリを削除するコードをいくつか書きましたが、これによりエディターが壊れます。何も記述できず、HTML タブを使用することもできません。

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

ユーザー設定タブで「書き込み時にビジュアルエディターを無効にする」チェックボックスを選択するとどうなるかをエミュレートしようとしていますが、常にすべてのユーザーに対してです。

4

2 に答える 2

1

非常に正面的なソリューションを使用したい場合は、次のように、データベース内のいくつかの行を直接更新することでそれをエミュレートできます。

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

または、Wordpress 関数を使用する場合は、update_user_meta を使用できます。ドキュメントは次のとおりです。http://codex.wordpress.org/Function_Reference/update_user_meta

于 2012-11-03T15:53:51.883 に答える
0

Jean は道を示しましたが、完全に機能するコードを共有したかったのです。

私のプラグインでは:

// 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' );
    }
}

機能:

通常、WYSIWYG を無効にする唯一の方法は、各ユーザーの設定ページで [書き込み時にビジュアル エディターを無効にする] を選択することです。これにより、ユーザーがチェックを外そうとしても、常にすべてのユーザーに対してそのオプションが強制的にチェックされます。

于 2012-11-03T16:48:33.417 に答える