web-dev-qa-db-ja.com

WordPressで画像編集ダイアログのオプションを変更するにはどうすればいいですか?

投稿コンテンツ領域にアップロードされた画像の[配置]ラジオボタンを非表示にしようとしていますが、カスタムCSSまたはJSファイルを[画像エディタ]ダイアログに追加する方法がわかりません。

TinyMCEテキストエディタから整列ボタンを削除するためにtiny_mce_before_initアクションフックにフィルタを追加することに成功しましたが、イメージエディタで同じことをする方法がわからないです。

enter image description here

私はjQueryのハックを試してみましたが、それはかかるようには思われません:

$('.mceWrapper iframe').load( function() {
    $(this).contents().find('tr.align').hide();
});
8
handstand

詳しく見てみると、細かいところでは画像エディタを変更することはできないようです。あなたができる唯一のことは、わずかに修正されたコピーでイメージエディタを置き換えることです。これがどのように行われることができるかを間もなく説明します。

しかしその前に警告の言葉。 Image Editorは現在(2/2014)取り組んでいるので、この解決法はおそらくさらなる修正なしでは次のWordPressバージョンからはうまくいかないでしょう。

最後にもう1つ注意してください。これをあなたのテーマではなく、プラグインに入れた方が良いでしょう。とにかく、この答えを短くするために私はあなたのテーマにこれを入れる方法を説明します。

1.デフォルトの画像エディタを削除します

add_filter( 'tiny_mce_plugins', 'remove_wpeditimage', 10, 2 );

function remove_wpeditimage($plugins){
    if(($key = array_search('wpeditimage', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    if(($key = array_search('teeny_mce_plugins', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    return $plugins;
}

2.画像​​エディタをコピーして変更する

テーマフォルダにwp-includes/js/tinymce/plugins/wpeditimageをコピーします。

好きなように変更してください。整列オプションを取り除く最も簡単な方法は、55行目を次のように変更することです。

<tr class="align">

<tr class="align" style="display:none;">

3.変更した画像エディタを追加します

add_filter('mce_external_plugins', 'add_customized_wpeditimage');

function add_customized_wpeditimage($plugins) {
    $plugins[ 'wpeditimage' ] = get_template_directory_uri() . '/wpeditimage/editor_plugin.js';
    return $plugins;
}
2
kraftner