web-dev-qa-db-ja.com

「インデントを増やす」TinyMCEでパディングをテキストインデントに変更

ビジュアルエディタで「インデントを増やす」をクリックすると、テキストエディタに次のコードが追加されます。

<p style="padding-left:30px;">

コアファイルに影響を与えないようにtext-indent: 30px;に変更するにはどうすればいいですか?

私はたくさんのファイルを検索しましたが、その原因となるコードは見つかりませんでした。

ありがとう。

3
SLH

インスタンス化時にTinyMCE設定オブジェクトを修正する必要があります。

参照: TinyMCEドキュメンテーション - コンテンツフォーマット

WordPressには、この目的のために tiny_mce_before_init というフィルタが用意されています。これを次のように使用します。

function modify_tinymce_settings($settings) {

    $settings['indentation'] = '10px';

    return $settings;
}

add_filter('tiny_mce_before_init', 'modify_tinymce_settings');

それが正確に機能しない場合は、上のフックで$settingsの出力をダンプして、indentationの値がどこに保持されているかを調べます。それらは多次元配列の一部としてネストされている可能性があります。

1
userabuser

これは正しい方向にあなたを導くかもしれません:

http://codex.wordpress.org/TinyMCE_Custom_Buttons

特にあなた自身のボタンを追加する部分。フックがあるはずなので、tinymceがすでに持っているフィルタを修正するだけで済むでしょう。

MCEエディタへのカスタムCSSスタイルの追加

カスタムTinyMCEプラグインの一般的なユースケースは、BlockquoteやStrongのようなデフォルトのHTMLタグを超えて、サイトのテーマで使用されるカスタムスタイルを生成するボタンの必要性です。この必要性はTinyMCEの組み込み(しかしWordPressには隠されている) 'styleselect'ボタンとユーザーがそれを使って挿入できるカスタムフォーマットを登録する能力によって説明されます。

TinyMCEにカスタムスタイルのプルダウンメニューを追加する方法については、TinyMCEのカスタムスタイルを参照してください。

また、TinyMCE用のカスタムCSSファイルを登録するために使用されるadd_editor_style()も参照してください。これは、ビジュアルエディタが投稿コンテンツをサイトのフロントエンドに表示される方法で表示するようにします。

0
Shawn