[WordPress] ビジュアルエディタをインライン SVG に対応させる方法
WordPress の投稿などでテキストモードでインライン SVG を入力し、ビジュアルエディタに切り替えると描写されるはずのものは何も表示されない状態となり、そしてテキストエディタへ戻すと SVG タグが消えるという現象が起こってしまいます。
これは、エディタの tinymce が svg タグと SVG に関する属性を不正なものとみなして消してしまう為のようです。
解決する方法
これを解決するには、functions.php へ以下のコードを追加記入して、tiny_mce にすべてのタグと属性の表示を許可するようにします。
function elements_attributes( $init ) { $ext = '*[*]'; if ( isset( $init['valid_elements'] ) ) { $init['valid_elements'] .= ',' . $ext; } else { $init['valid_elements'] = $ext; } return $init; }
これで、ビジュアルエディタが svg タグとその属性にも対応できるようになりました。
参考元フォーラムのコードは [‘extended_valid_elements’] に対してすべての要素を許可するようにされていたのですが、それだと同フォーラムの質問者の方と同じく、svg タグが消えてしまうのが何故か解決しませんでした…。
もしこのコードで解決しない場合は、[‘valid_elements’] を [‘extended_valid_elements’] にするとよいかもしれません(参考元と同じコード)。
That’s the best answer by far! Thanks for cotubirtning.