現在、私のホームページには最新の投稿がいくつか含まれています。したがって、ホームページがソーシャルメディア(すなわちフェイスブック)を介して共有されるとき、表示されるサムネイル画像は最新の投稿のトップ画像から来る。
私がやろうとしているのは、ホームページが共有されたときに特定のデフォルトの画像が表示されるように設定することです。ただし、画像はホームページが共有されている場合にのみ表示される必要があり、それ以外の場合はサイトに表示されるべきではありません。これを行うための最良の方法は何でしょうか。
いくつかのオプション:
すぐに使えるプラグイン
Yoast WordPress SEOを使用している場合は、Facebook画像用の組み込み設定があります。 [SEO]> [ソーシャル]メニューの[Facebook]タブに移動し、[フロントページ設定]で画像を選択します。おすすめの画像がない投稿の場合は、[デフォルト設定]で、画像を代替として設定することもできます。
他のSEOプラグインも同様の機能を持っているかもしれません。
子供のテーマ
子テーマを作成したり、カスタムテーマを変更したりできます。まず、テーマがサイトのロゴをサポートしていることを確認してください。そうでない場合、 カスタムロゴのサポートを追加します 。
次に、header.php
を新しい子テーマに編集またはコピーします。 <head></head>
タグの中に、必要に応じてif(is_front_page())
またはif(is_home())
のチェックを含めます。どちらかのように聞こえるあなたのケースではうまくいくでしょう。
条件が満たされている場合は、カスタムロゴのURLを入手してください
$image = wp_get_attachment_image_url(get_theme_mod('custom_logo'), 'large');
そしてそれをOpen Graphタグ内に出力します。
<meta property="og:image" content="<?php echo $image; ?>" />
<meta name="Twitter:image" content="<?php echo $image; ?>" />
カスタムプラグイン
Yoast WordPress SEOを使用したくない場合やテーマをいじる必要がない場合は、独自のプラグインを作成することもできます。リスクは、既存のテーマやプラグインがすでにおすすめの画像を出力している可能性があるため、ページのソースを確認して、おすすめの画像を設定しているものが他にないことを確認します。あなたがそれを共有しようとするとき、あなたの現在のテーマとプラグインが最新の投稿の画像を設定しているので、私はこれが本当であると思います。
基本的には、wp_head
フックにアクションを追加します。最初のオプションを選択した場合と同じように、テーマを操作しながらOpen GraphとTwitterの画像データを出力します。
あなたは自分のプラグインに画像をハードコードするかどうか、あるいはいつでも画像を変更できるwp-adminのどこかにオプションページを作成するかどうかを決めなければならないでしょう。
異なるソーシャルプラットフォームは異なる方法を使用します。
Facebookの場合、og
プロパティを持つ<meta>
タグのセットが必要です。 og:url
、og:type
、og:description
およびog:image
。 og:image
には、表示したい画像へのフルパスを含める必要があります。
Twitterも似ていますが、独自のmeta
タグのセットを必要とする独自の「カード」メカニズムを持っています。 name="Twitter:card"
とname="Twitter:image"
これを処理するプラグインがあると思います。私はページのサムネイルを使う独自の単純な関数を持っています。これが設定されていなければフォールバックします。
OGメタタグ はおそらくあなたが探しているものです、この場合:
<meta property="og:image"content="path/to/foo.jpg" />
if is_home()
の中に入れるとうまくいけばうまくいくでしょう