1

スタック オーバーフローの皆様、こんにちは。私はこの問題を数日間解決しようとしましたが、成功しませんでした。ここ Stack Overflow で入手可能なほぼすべての投稿を読みましたが、これを解決する方法がわかりません。

Facebook でリンクを共有すると、サムネイルは、

メタ プロパティ="og:画像"

それは機能し、そこではすべて問題ありません...しかし、

共有されたときに、各投稿がサムネイルとして独自の特集画像を表示できるようにしたいと思います。どうすればそれができますか?

function.phpでこのコードを試しました

    function insert_image_src_rel_in_head() {
    global $post;
    if ( !is_singular()) //if it is not a post or a page
        return;
    if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
        $default_image="http://example.com/image.jpg"; //replace this with a default image on your server or an image in your media library
        echo '<meta property="og:image" content="' . $default_image . '"/>';
    }
    else{
        $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
        echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
    }
    echo "
";
} add_action( 'wp_head', 'insert_image_src_rel_in_head', 5 );

そして何も起こらない...

また、header.phpでこのコードを試しました

    <?php
global $wp_query;
$thePostID = $wp_query->post->ID;
if( has_post_thumbnail( $thePostID )){
    $thumb_id = get_post_thumbnail_id( $thePostID );
    $image = wp_get_attachment_image_src( $thumb_id );
    echo '<meta property="og:image" content="'.$image[0].'" />';
} ?>

そこにも成功はありません。

主役の画像はこのように functions.php で有効化されます。

add_theme_support('post-thumbnails');

先ほど言ったように、すべての og タグが設定されています。

何が起こっている?Facebookデバッガーを使用してフラッシュしているため、キャッシュではありません。

誰かが私を助けることができれば、私は永遠に感謝します.

どうもありがとう。

ベンジャミン。

4

3 に答える 3

0

私はあなたがのように試してみるべきだと思います

echo '<meta property=\"og:image\" content=\"'.$image[0].'\" />';

<meta propertyまた、サイトがレンダリングされたときに正しく表示されているかどうか、これを更新した後にソースコードを確認してください

于 2013-02-28T05:09:43.633 に答える
0

このようなメタプロパティを使用できます。

<meta property="fb:app_id" content="facebook app id" />
<meta property="og:url"  content="post url">
<meta property="og:title"  content="post title">
<meta property="og:description" content="post description">
<meta property="og:image" content="image url"/>
于 2013-08-24T11:30:23.870 に答える
0

わかりましたこれを修正しました...おそらくこれは同じ問題を抱えている他のユーザーに役立つでしょう...ソースコードで正しい画像をレンダリングしているにもかかわらず、すべてのリンクで同じサムネイルを使用していた理由は、

<meta property="og:url" content="ライン。

そこにサイトの URL を入力すると、もちろん正規の URL がすべてを支配し、デバッガーはそこに行って主役の画像を取得しました。その値を

<?php echo get_permalink(); ?>

そして、それはそれをしました。この質問が他の人が同様の問題を解決するのに役立つことを願っています。

于 2013-03-05T19:23:41.433 に答える