Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressでoEmbedの幅と高さを動的に変更する方法

埋め込みコンテンツをWordPressサイトで画面サイズに関係なく完璧に表示したいですか?

WordPressの初期設定では、投稿やページに動画やその他の埋め込みをすることができます。しかし、私たちの経験に基づいて、あなたは時々、それらのサイズをよりコントロールする必要があります。

エンベッドの幅と高さを動的に変更できることは、レスポンシブデザインにとって重要であり、あなたのサイトが携帯電話、タブレット、デスクトップで美しく見えることを保証します。また、コンテンツのレイアウトを微調整して、より洗練された外観にすることもできます。

この投稿では、WordPressでoEmbedの幅と高さを動的に変更する方法を紹介します。

Dynamically changing oEmbed width and height in WordPress

WordPressでダイナミックOEmbedの幅と高さを設定する理由

WordPressでは、oEmbedと呼ばれる技術を使って、投稿やページにサードパーティのコンテンツを簡単に埋め込むことができます。

これにより、YouTube動画、Facebook投稿、TikTok動画ツイートなどをWordPressに簡単に埋め込むことができます。このコンテンツはWordPressサイト上でホスティングサービスされないため、サーバーリソースを節約し、WordPressのパフォーマンスを向上させることができます。

Fixed width oEmbed in WordPress

初期設定では、WordPressは埋め込みコンテンツの高さと幅を投稿やページに合わせて自動的に調整する素晴らしい仕事をしてくれます。

しかし、この初期設定を変更したいユーザーもいるでしょう。例えば、初期設定の埋め込み幅と高さを、トップページと個々の投稿で異なるように設定したいかもしれません。

これは、カスタムホームページレイアウトを使用している場合や、独自のカスタムテーマデザインに取り組んでいる場合に便利です。

ということで、WordPressでoEmbedコンテンツにダイナミックな幅と高さを簡単に設定する方法を見てみましょう。

方法1.WordPressでダイナミックエンベッドの幅と高さを設定する

この方法では、WordPressサイトにカスタムコードを追加する必要があります。この方法を使ったことがない場合は、ウェブ上のスニペットをWordPressに簡単に貼り付ける方法をご覧ください。

この方法では、WordPressの条件分岐タグを使って、どのWordPressページが表示されているかを検出し、それに応じてoEmbedの幅と高さの初期設定を変更する。

以下のコードをテーマのfunctions.phpファイル、サイト固有のプラグイン、またはcode snippetsプラグインに追加するだけです。

//Custom oEmbed Size
function wpb_oembed_defaults($embed_size) {
if(is_front_page()) {
        $embed_size['width'] = 940;
        $embed_size['height'] = 600;
}
else {
    $embed_size['width'] = 600;
        $embed_size['height'] = 338;
}
    return $embed_size;
}
add_filter('embed_defaults', 'wpb_oembed_defaults');

WordPressコードスニペットプラグインのWPCodeを使用して、このコードを追加することをお勧めします。テーマのfunctions.phpファイルを編集することなく、WordPressでカスタムコードを追加する最も簡単な方法です。

WPCode

この方法なら、サイトが壊れる心配はありません。さらに、WordPressのテーマを変更しても、すべてのカスタマイズを維持することができる。

開始するには、無料のWPCodeプラグインをインストールし、有効化する必要があります。ステップバイステップの手順については、WordPressプラグインのインストール方法をご覧ください。

プラグインを有効化したら、WordPressの管理ダッシュボードからCode Snippets + Add Snippetに移動します。

次に、「カスタムコードを追加(新規スニペット)」オプションを見つけ、「スニペットを使用」ボタンをクリックします。

Add a new custom code snippet in WPCode

次に、画面に表示されるオプションから、コードタイプとして「PHP Snippet」を選択する。

Select PHP Snippet as the code type

その後、カスタム・スニペットの名前を追加することができます。カスタム・スニペット名は、そのコードが何のためのものかを覚えておくのに役立つものであれば何でもかまいません。

次に、上記のコード・スニペットをコピー&ペーストして「コード・プレビュー」ボックスに貼り付けるだけです。

Paste custom oEmbed code in WPCode

それが終わったら、画面上部のトグルを「無効化」から「有効化」に切り替え、「スニペットを保存」ボタンをクリックするだけだ。

Save and activate your custom code snippet

WordPressで利用可能な条件分岐タグを使用して、さまざまなシナリオを検出することができます。

ここでは、カスタムランディングページのoEmbed初期設定幅を変更する別の例を示します。

function wpb_oembed_defaults($embed_size) {
if( is_page( 42 ) ) {
        $embed_size['width'] = 940;
        $embed_size['height'] = 600;
}
else {
    $embed_size['width'] = 600;
        $embed_size['height'] = 338;
}
    return $embed_size;
}
add_filter('embed_defaults', 'wpb_oembed_defaults');

ご覧のように、このコードは特定のページIDに対して異なる初期幅と高さを設定するだけです。

方法2.CSSを使用して動的なoEmbedの幅と高さを設定する

WordPressは、サイトのさまざまなエリアに初期設定のCSSクラスを自動的に追加します。

これらのCSSクラスは、サイトの特定のエリアにおけるエンベッドの外観を変更するために使用することができます。

例えば、WordPressテーマには、page-id、post-id、category、tagなどのCSSクラスがあります。これらのCSSクラスは、Inspectツールを使って見つけることができます。

CSS class for post and page

同様に、WordPress は埋め込みブロックにも CSS クラスを追加します。この場合も、埋め込みブロックでどのクラスが使われているかを調べるには、Inspect ツールを使います。

CSS classes for embed blocks

これらのCSSクラスを取得したら、それらを使ってoEmbedsに動的な高さと幅を設定することができます。例えば、以下のサンプルコードでは、特定の投稿IDのPinterest埋め込みブロックに対して、動的な幅と高さを設定しています。

article#post-79 .wp-block-embed-pinterest {
    max-width: 200px!important;
    max-height: 400px!important;
}

テーマのカスタマイザーでカスタムCSSを追加して、CSSコードを試すことができます。満足したら、変更を保存して公開することを忘れないでください。

WordPressでoEmbedの幅と高さを簡単に設定する方法をご紹介しました。WordPress の便利なヒント、トリック、ハックや、WordPress のベストソーシャルメディアプラグインもご覧ください。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

8件のコメント返信を残す

  1. Nick

    Can we include % in width value? ex. $embed_size[‘width’] = 100%;

  2. Joseph Nirmal

    Iam using genesis child theme (news). How to expand the width of my theme.

    • WPBeginner Support

      using CSS you can expand width of your theme. For more specific you should ask in Genesis support forums.

      管理者

  3. Marc

    Does “$embed_size” replace or alter “$content_width”?

      • Marc

        I got the REQUIRED message from the theme-check plugin to set $content_width. So you are correct.

  4. M Asif Rahman

    Nice and easy. Thanks.

  5. Gregg

    What if you wanted text to flow around the oembed? alignleft, alignright

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。