最近、あるユーザーからWordPressのテキストウィジェットでoEmbedを有効にする方法について質問がありました。oEmbedは、ブログがoEmbed対応ウェブサイトに、動的なコンテンツを埋め込むために必要なHTMLを提供するように要求できるプロトコルです。簡単に言うと、ブログ記事にYouTube動画のURLを貼り付けるだけで、WordPressが自動的に埋め込んでくれるようになります。oEmbedの最大幅は手動で調整したり、コンテンツの幅と高さを動的に変更したりできます。しかし、テキストウィジェットにoEmbedでコンテンツを埋め込むことはできません。この記事では、WordPressのテキストウィジェットでoEmbedを有効にする方法を説明します。
テーマのfunctions.phpファイルまたはサイト固有のプラグインに以下のコードを追加するだけです。
add_filter( 'widget_text', array( $wp_embed, 'run_shortcode' ), 8 ); add_filter( 'widget_text', array( $wp_embed, 'autoembed'), 8 );
これで完了です。テキストウィジェットでoEmbedが正常に有効になりました。「外観」→「ウィジェット」に移動してテストできます。テキストウィジェットにYouTube動画のURLを追加するだけで、その効果を確認できます。
このコードが何をするのか知りたい方のために説明すると、これは単にフィルターwidget_textを追加し、テキストウィジェットでoEmbedおよび自動埋め込みコンテンツのショートコードを実行できるようにするものです。
コードを扱うのが好きではない方のために、簡単にText Widget oEmbedプラグインを有効にすることができます。これは文字通り同じことをします。このプラグインには、上記で共有した2行のコードしかありません。
この記事がテキストウィジェットでoEmbedを有効にするのに役立ったことを願っています。ご質問やご意見がありましたら、下記のコメントでお知らせください。


Jonathan
このコードでは不十分ですか?
add_filter ('widget_text', array ($ wp_embed, 'autoembed'), 8);Fernando
アドバイスありがとうございます。しかし、メディアコンテンツがサイドバーの幅に適合しないという問題があります。これは、プラグインやコードではなく、埋め込みコードで制御できるものです。