ユーザーのテキストタブを削除または無効にする機能はありますか。
きれいなCMSを作るのに十分なコードがここにありますが、これだけでは見つけられません。
これには2つのステップが必要です。
1)まず、エディタタブを非表示にする必要があります。これはCSSを使用して簡単に実行できます。そのために、管理者ヘッドにCSSを出力します。
function hide_editor_tabs() {
global $pagenow;
// Only output the CSS if we're on the edit post or add new post screens.
if ( ! ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) ) {
return;
}
?>
<style>
.wp-editor-tabs {
display: none;
}
</style>
<?php
}
add_action( 'admin_head', 'hide_editor_tabs' );
OPが要求するように、片方のタブだけを隠すことができますが、実際には両方を隠すべきです。合計2つしかないため、1つだけを非表示にしてから1つのタブを残しても意味がありません。
2)次に、ビジュアルエディタをデフォルトにする必要があります。手順1でタブを非表示にしたので、ユーザーはデフォルトから切り替えることはできません。
function force_default_editor() {
return 'tinymce';
}
add_filter( 'wp_default_editor', 'force_default_editor' );
代わりにテキストエディタを強制したい場合は、ステップ2でreturn 'tinymce';
をreturn 'text';
に変更するだけです。
受け入れられた答えについての私のコメントに加えて、あなたもこれをするべきです。さらに進んで、jQuery .hideまたはcssを使用してフィールドを管理することもできます。
// This updates the database on profile update to ensure rich_editing is selected ture
function disable_rich_editing_profile_update() {
global $wpdb;
$wpdb->query("UPDATE " . $wpdb->prefix . "usermeta SET meta_value = true WHERE meta_key = 'rich_editing'");
}
add_action('profile_update', 'disable_rich_editing_profile_update', 10, 2); add_action('user_register', 'disable_rich_editing_profile_update', 10, 2);
// Optionally hide the fields as well from the end user
function remove_profile_editor_css() {
if (is_admin() {
?>
<style type="text/css">
#your-profile > table:nth-child(5) > tbody > tr:nth-child(1) {
display: none;
}
</style>
<?php
}
}
add_action( 'admin_head-profile.php', 'remove_profile_css' );