web-dev-qa-db-ja.com

TinyMCEカラースウォッチの「カスタム..」オプションを削除

ユーザーがカスタムカラーを追加するのを防ぐために、エディターのカラーピッカーで[カスタム]オプションを削除することは可能ですか?

enter image description here 

5
Joe Buckle

はい、tinyMCEからカスタムカラーオプションを削除することは可能です。

WordPressには、カスタムカラー機能を処理するためのtinyMCEプラグインがバンドルされています。 tiny_mce_pluginsフィルタは、キーcolorpickerによって識別されるこのバンドルプラグインを削除するために使用できます。

カスタム色オプションを削除しても、デフォルトの色見本を使用して色を選択するユーザーの機能には影響しません。

/**
 * Remove the Color Picker plugin from tinyMCE. This will
 * prevent users from adding custom colors. Note, the default color
 * palette is still available (and customizable by developers) via
 * textcolor_map using the tiny_mce_before_init hook.
 * 
 * @param array $plugins An array of default TinyMCE plugins.
 */
add_filter( 'tiny_mce_plugins', 'wpse_tiny_mce_remove_custom_colors' );
function wpse_tiny_mce_remove_custom_colors( $plugins ) {       

    foreach ( $plugins as $key => $plugin_name ) {
        if ( 'colorpicker' === $plugin_name ) {
            unset( $plugins[ $key ] );
            return $plugins;            
        }
    }

    return $plugins;            
}
4
Dave Romsey