web-dev-qa-db-ja.com

カスタム投稿機能の画像をog:imageに設定する

おすすめの画像をog:imageに設定しようとしています

私はいろいろな方法やプラグイン( Yoast )を試してみましたが、頭を動かすのは難しいと思います。

問題は、機能画像をまったくピックアップしていないことであり、代わりにコンテンツ内の画像をピックアップしていることです。

これは私の現在のページの単一ブログ記事のコードです。これは、コンテンツ画像ではなくFacebookにブログ投稿を共有するときに取得できる必要がある部分です。

<div class="image-wrapper">
        <?php if( get_field('featured_image') ): ?>
        <?php $featuredImage = get_field('featured_image'); ?>
        <img rel="image_src" src="<?php echo $featuredImage['url']; ?>" alt="">
        <?php else: ?>
        <img src="http://lorempixel.com/842/458/?rand9" alt="">
        <?php endif; ?>
</div>

ブログ記事のコンテンツに画像が含まれていない場合は、この奇妙なことをします。その後、機能画像とサイドバーの画像を取得します。私はFacebookのデバッガも走らせたが、やはりコンテンツ画像を拾うだけである。

注目のイメージをターゲットにしたこのスニペットは見つかりましたが、私の投稿はカスタム投稿であるため、選択できない可能性があります。

<meta property="og:image" content="<?php $post_thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'large'); echo $post_thumbnail[0]; ?>" />

どんな提案でも素晴らしいでしょう。あなたが他に何かを必要とするならば、私に知らせてください。

3

あなたのサイトはコアのWordPressを使用していないようです Featured Image機能 代わりにカスタム画像フィールドを使用します(おそらくAdvanced Custom Fieldsから)。 Yoastのプラグイン、Jetpack、そしておそらく他の多くの人は、opengraphメタタグを設定するときにFeatured Imageイメージを探します。だからあなたは2つのオプションがあります:

  1. 注目の画像をopengraphメタタグに追加するプラグインの1つでコアとなる注目の画像機能を使用する
  2. ACFフィールドを使用するようにメタプロパティを変更します。

<meta property="og:image" content="<?php $featuredImage = get_field('featured_image'); echo esc_url( $featuredImage['url'] ); ?>" />


余談:もしあなたの注目の画像(しかしそれが実装されている)が何らかの意味を持ち、「純粋に装飾的」ではないなら、あなたのサイトがそれを与える方法をサポートすることを確かめなさい アクセシビリティのための適切な代替テキスト

6
mrwweb

あなたはあなた自身のプラグインを作るか、単にあなたのfunctions.phpでそれを使うことができます

add_action('wp_head', 'dgsoft_fb');
function dgsoft_fb(){
    if( is_single() ) {
        echo '<meta property="og:image" content="'. get_the_post_thumbnail_url(get_the_ID(),'full')   .'" />';
    }
}
0
vencedor