web-dev-qa-db-de.com

Legen Sie das benutzerdefinierte Post-Feature-Image als og: image fest

Ich versuche, das empfohlene Bild als og:image festzulegen.

Ich habe verschiedene Methoden und Plugins ausprobiert ( Yoast ), aber es fällt mir schwer, das in den Griff zu bekommen.

Das Problem ist, dass es das Feature-Image überhaupt nicht aufnimmt, sondern die Bilder im Inhalt aufnimmt.

Dies ist mein aktueller Seitencode für den einzelnen Blogbeitrag. Dies ist der Teil, den ich bekommen muss, wenn ich den Blog-Beitrag auf Facebook und nicht die Inhaltsbilder teile.

<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>

Es macht diese seltsame Sache, wenn ein Blog-Beitrag keine Bilder im Inhalt hat und dann die Funktionsbilder und Bilder in der Seitenleiste aufnimmt. Ich habe auch den Facebook-Debugger ausgeführt, aber auch hier werden nur die Bildinhalte aufgenommen.

Ich habe dieses Snippet gefunden, das auf das gezeigte Bild abzielt, aber ich habe das Gefühl, dass es sich bei meinem Beitrag um einen benutzerdefinierten Beitrag handelt, der möglicherweise nicht aufgenommen wird.

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

Irgendwelche Vorschläge wären toll. Wenn Sie noch etwas brauchen, lassen Sie es mich wissen.

3

Es scheint, dass Ihre Site nicht die WordPress-Kernfunktion Featured Image feature verwendet, sondern stattdessen ein benutzerdefiniertes Bildfeld (wahrscheinlich aus Advanced Custom Fields). Das Yoast-Plugin, Jetpack und vermutlich viele andere suchen nach dem Featured Image-Image, wenn Sie das opengraph-Metatag setzen. Sie haben also zwei Möglichkeiten:

  1. Verwenden Sie die Kernfunktion "Ausgewähltes Bild" mit einem der Plugins, mit denen das ausgewählte Bild einem opengraph-Metatag hinzugefügt wird
  2. Ändern Sie Ihre Meta-Eigenschaft, um das ACF-Feld zu verwenden:

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


Abgesehen davon: Wenn Ihr vorgestelltes Bild (wie auch immer es implementiert ist) irgendeine Bedeutung hat und nicht "rein dekorativ" ist, stellen Sie sicher, dass Ihre Site eine Möglichkeit unterstützt, es entsprechendem Alternativtext für Barrierefreiheit zuzuweisen.

6
mrwweb

sie können Ihr eigenes Plugin erstellen oder es einfach in Ihrer functions.php verwenden

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