web-dev-qa-db-fra.com

Existe-t-il un filtre permettant de définir l’image OG sur un message donné?

Je cherche un filtre pour définir quelle image sur un message définit l'image de facebook OG. Dans mon cas, j'ai l'image que je veux utiliser dans un champ méta post.

J'ai regardé autour de moi mais je ne suis pas sûr de la meilleure façon de gérer cela. Existe-t-il un filtre wordpress de base pour cela? Si c'est le cas, je ne pourrais pas en trouver un.

Une solution que j’ai étudiée a consisté à modifier les filtres du plug-in yoast seo puisque nous avons ce plug-in sur notre site. Par défaut, il semble mettre la méta OG sur l'image sélectionnée, ce qui n'est pas ce que je recherche.

4
Shawn

Le filtre wpseo_opengraph_image ne peut être utilisé que pour modifier le og:image existant. Sinon, vous devrez vous accrocher à l'action wpseo_opengraph pour ajouter une image différente.

Voici un exemple d'ajout d'une image à partir d'un champ personnalisé sur l'objet de publication (en supposant que vous utilisez ACF ici).

function my_wpseo_opengraph() {
    global $post;

    if (isset($post)) {
        $og_image = get_field('your_field_name', $post->ID);
        if ($og_image) {
            $image_url = $og_image['sizes']['large'];
            $GLOBALS['wpseo_og']->image_output($image_url);
        }
    }
}

add_action('wpseo_opengraph', 'my_wpseo_opengraph', 29);
3
slm_92