【WordPress】ビジュアルエディタからテキストエディタに切り替えるとTwitter埋め込みscriptタグが消える
ビジュアルエディタからテキストエディタに切り替えるとTwitter埋め込みscriptタグが消える
なんて事象に遭遇。
さてどうしたものか・・・。
再現環境環境
- WordPress 5.0.3
- テーマはCoccon
- PHP7
試してみたこと
成功:エディタ下のカスタムJavaScriptに以下のコードを記述
消えてしまうなら、消えないところに書いておけ!
という作戦です。
これでうまく行きました。
// SCRIPTタグの生成
var el = document.createElement("script");
// SCRIPTタグのSRC属性に読み込みたいファイルを指定
// BODY要素の最後に追加
document.body.appendChild(el);
失敗:エディタの機能を利用
なんかこれならいけそう?
失敗:自動整形無効化
とりあえず脳死コピペしたい人用↓
// 出力の自動変換を回避
remove_filter( 'the_content', 'wpautop' );
// HTMLを忠実に出力
remove_filter( 'the_content', 'wptexturize' );
// ビジュアルエディタの余計な機能を無効化する
function override_mce_options( $init_array ) {
global $allowedposttags;
$init_array['valid_elements'] = '*[*]';
$init_array['extended_valid_elements'] = '*[*]';
$init_array['valid_children'] = '+a[' . implode( '|', array_keys( $allowedposttags ) ) . ']';
$init_array['indent'] = true;
$init_array['wpautop'] = false;
$init_array['force_p_newlines'] = false;
return $init_array;
}
add_filter( 'tiny_mce_before_init', 'override_mce_options' );
失敗:functions.phpを操作
以下サイトの方法は自分の設定には合いませんでした。
まとめ
色々試しましたが、WP5系に対応した方法はまだ出回っていないのかもしれないと思った。
今から勉強しておけば優位に立てるかもしれないので頑張ろう。