どうも、イソップです。
WordPressで記事を編集中に、ビジュアルモードとテキストモードを切り替えることで、span
やstyle
などのタグが自動で削除されることはないでしょうか。
なぜなら、WordPressのエディターで自動削除される設定になっているからです。
これはfunctions.phpに設定を追加することで回避できます。
<span class="">
のように、class属性をつけると削除されないといった記事をよく見かけますが、
何を言ってんだお前らは。いちいち入力する手間がかかるし、HTMLが汚れるだろ。
ということで、functions.phpへの設定方法を紹介します。
tiny_mce_before_initフィルターの設定を追加する
テーマディレクトリのfunctions.phpの最後に、次のコードを追加します。
function my_tiny_mce_before_init( $init_array ) { $init_array['valid_elements'] = '*[*]'; $init_array['extended_valid_elements'] = '*[*]'; return $init_array; } add_filter( 'tiny_mce_before_init' , 'my_tiny_mce_before_init' );
WordPressにはtiny_mce_before_init
フィルターという仕組みがあるので、ここでTinyMCE(WordPressで使用されるテキストエディタ)の設定を渡してあげるとタグが削除されるのを回避できます。
設定内容は次のとおりです。
valid_elements
で全てのタグと属性値を許可extended_valid_elements
で既存設定に追加されている全てのタグと属性値を許可
これで設定は完了です。
tiny_mce_before_init
には他にも設定項目がたくさんあるので、気になる人は次のページも目を通してみると参考になります。
TinyMCE – WordPress Codex 日本語版
TinyMCE | Configure