エディターにURLを貼り付けた時のoEmbed自動探知(discovery)機能を停止させる
wordpress4.4からエディターにyoutubeなどの特定サイトのURLを貼り付けると自動で、リンク先のコンテンツを埋め込む仕様となりました。
一見便利ですが、ただのテキストとして貼り付けたい場合に不便に感じる部分があったので自動でEmbedしないようにする方法を考えました。
functions.phpに下記コードを貼り付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//----------------------------------------------------------------------------------- // oEmbed自動探知(discovery)機能を停止 //----------------------------------------------------------------------------------- //コンテンツ表示時の自動oEmbedを停止 function ct_disable_autoembed(){ global $wp_embed; remove_filter('the_content', array($wp_embed, 'autoembed'), 8); remove_filter('widget_text_content', array($wp_embed, 'autoembed'), 8); } //エディター記入時の自動oEmbedを停止 add_action('init', 'ct_disable_autoembed'); function ct_unregister_mce_embed_url(){ wp_add_inline_script('mce-view', 'wp.mce.views.unregister("embedURL");'); } add_action('init', 'ct_unregister_mce_embed_url'); |
URLの自動Embed機能を停止するだけなので、エディター内に
[embed]https://www.youtube.com/watch?v=C0DPdy98e4c[/embed]
のように明示的に書いた場合、embed機能は動作します。(Embed変換されるのでカッコを全角にしています。)