Wie erzeuge ich “og: image” -Meta für die Facebook-Freigabe, wenn das Bild im Beitrag nicht angezeigt wird?

Ich habe einen Code in der header.php meiner Website, der og: image Metadaten für die FB-Freigabe generieren kann. Es funktioniert perfekt, wenn der angegebene Post ein vorgestellten Bild hat.

  <meta property="og:image" content="" />  

Ich wäre dankbar, wenn Sie mir sagen könnten, wie ich diesen Code modifizieren (oder ersetzen) kann, um ein og: image-Meta-Tag zu erhalten, auch wenn der Beitrag 1 oder mehr Fotos enthält, aber keines davon als Feature festgelegt ist.

Solutions Collecting From Web of "Wie erzeuge ich “og: image” -Meta für die Facebook-Freigabe, wenn das Bild im Beitrag nicht angezeigt wird?"

Wie bereits erwähnt, erkennt Facebook Bilder automatisch, wenn das OG-Bild-Tag fehlt. In einigen Fällen erkennt es jedoch möglicherweise andere Bilder (z. B. nicht von Ihrem Post, sondern von anderen Inhalten).

In diesem Fall kann es nützlich sein, eine Liste aller an den Beitrag angehängten Bilder abzurufen und den gewünschten zu verwenden oder, wie Sie vorschlagen, den ersten zu verwenden. Im folgenden Beispiel wird der erste get_posts des get_posts mithilfe von get_posts abgerufen. Anschließend wird das zugehörige Miniaturbild abgerufen und die Bild-URL angezeigt. Sie können die in $thumbnail[0] gespeicherte Bild-URL zusammen mit ihrer Breite und Höhe verwenden, die in $thumbnail[1] bzw. $thumbnail[2] gespeichert sind.

 $images = get_posts( array( 'post_parent' => get_the_ID(), 'post_type' => 'attachment', 'numberposts' => 1, // Single attachment 'post_status' => null, 'post_mime_type' => 'image', // Only images 'orderby' => 'post_date', 'order' => 'ASC' ) ); if ( ! empty( $images ) ) { $thumbnail = wp_get_attachment_image_src( $images[0]->ID, 'thumbnail' ); echo $thumbnail[0]; } 

Beachten Sie, dass dieser Code nicht das erste Bild abruft, das sich im Post befindet, sondern der erste Anhang des Posts, bei dem es sich um ein Bild handelt. In den meisten Fällen sind diese beiden identisch (wenn Sie keine Bilder an Ihre Posts anhängen, außer sie in den Post-Inhalt einzufügen, sind sie identisch).