Impostare l'immagine in evidenza del Custom Post come og:image

26 ago 2014, 16:50:22
Visualizzazioni: 35.6K
Voti: 3

Sto cercando di impostare l'immagine in evidenza come og:image

Ho provato vari metodi e plugin (Yoast) ma faccio fatica a capire come funziona.

Il problema è che non rileva affatto l'immagine in evidenza ma sta prendendo le immagini dal contenuto.

Questo è il codice attuale della mia pagina per il singolo post del blog. Questa è la parte che dovrebbe essere visualizzata quando si condivide il post del blog su Facebook invece delle immagini del contenuto.

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

Succede questa cosa strana quando un post del blog non ha immagini nel contenuto, allora prende l'immagine in evidenza e le immagini nella sidebar. Ho anche eseguito il debugger di Facebook ma anche in questo caso sta prendendo solo le immagini del contenuto.

Ho trovato questo snippet che prende l'immagine in evidenza ma ho il sospetto che non la stia rilevando perché il mio è un custom post.

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

Qualsiasi suggerimento sarebbe apprezzato. Se avete bisogno di altre informazioni, fatemelo sapere.

0
Tutte le risposte alla domanda 2
3

Sembra che il tuo sito non utilizzi la funzionalità Immagine in evidenza di WordPress, ma invece usi un campo immagine personalizzato (probabilmente di Advanced Custom Fields). Il plugin Yoast, Jetpack e presumibilmente molti altri cercano l'immagine in evidenza quando impostano il meta tag opengraph. Quindi hai due opzioni:

  1. Utilizza la funzionalità Immagine in evidenza di WordPress con uno dei plugin che aggiunge l'immagine in evidenza al meta tag opengraph
  2. Modifica la tua proprietà meta per utilizzare il campo ACF:

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


Nota a margine: se la tua immagine in evidenza (indipendentemente da come è implementata) ha un significato e non è "puramente decorativa", assicurati che il tuo sito supporti un modo per fornirle un testo alternativo appropriato per l'accessibilità.

26 ago 2014 18:41:57
Commenti

Ciao, grazie per la risposta. Hai ragione, sto usando ACF per l'immagine in evidenza. Ho scelto la seconda opzione ma il tag non sta effettivamente recuperando l'immagine, mostra così nel sorgente <meta property="og:image" content="">

Kenny Van Sittert Kenny Van Sittert
27 ago 2014 12:49:43

Ho risolto <meta property="og:image" content="<?php $featuredImage = get_field('featured_image'); echo $featuredImage['url']; ?>" /> Grazie per l'aiuto

Kenny Van Sittert Kenny Van Sittert
27 ago 2014 13:37:54

Ops! Scusa per l'errore nella denominazione della variabile da parte mia. È una buona pratica generale lasciare esc_url() per la sanificazione.

mrwweb mrwweb
27 ago 2014 19:18:01
1

puoi creare il tuo plugin, o semplicemente utilizzarlo nel tuo 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')   .'" />';
    }
}
11 ott 2018 11:58:59
Commenti

bello ma vorrei sostituire il tag presente

Fanky Fanky
23 ott 2020 22:12:37