web-dev-qa-db-fra.com

Image par défaut pour la page d'accueil lorsqu'elle est partagée dans les médias sociaux

Actuellement, ma page d'accueil contient quelques-uns des derniers messages. Par conséquent, lorsque la page d'accueil est partagée via les médias sociaux (par exemple, Facebook), la vignette affichée provient de la première image du dernier message.

Ce que j'essaie de faire, c'est de le configurer de sorte que, lorsque la page d'accueil est partagée, une image par défaut spécifique soit affichée. Toutefois, l'image ne doit être affichée que lorsque la page d'accueil est partagée et ne doit pas apparaître sur le site. Quelle serait la meilleure façon de faire cela?

2
Thredolsen

Plusieurs options:

Plug-in prêt à l'emploi

Si vous utilisez Yoast WordPress SEO, vous avez un paramètre intégré pour les images Facebook. Dans le menu Référencement> Réseaux sociaux, accédez à l'onglet Facebook et sélectionnez une image sous "Paramètres de la page d'accueil". Vous pouvez également définir une image comme solution de repli pour les publications sans image sélectionnée, sous "Paramètres par défaut".

D'autres plugins SEO peuvent avoir des capacités similaires.

Thème de l'enfant

Vous pouvez créer un thème enfant ou modifier un thème personnalisé. Tout d’abord, assurez-vous que le thème prend en charge le logo du site. Sinon, ajoutez le support du logo personnalisé .

Ensuite, éditez ou copiez header.php dans votre nouveau thème enfant. Dans les balises <head></head>, incluez une vérification de if(is_front_page()) ou if(is_home()) en fonction de vos besoins. On dirait que cela fonctionnerait dans votre cas.

Si la condition est remplie, récupérez l'URL du logo personnalisé.

$image = wp_get_attachment_image_url(get_theme_mod('custom_logo'), 'large');

et le sortir dans les balises Open Graph:

<meta property="og:image" content="<?php echo $image; ?>" />
<meta name="Twitter:image" content="<?php echo $image; ?>" />

Plugin personnalisé

Vous pouvez également créer votre propre plugin, si vous ne souhaitez pas utiliser Yoast WordPress SEO ou bricoler avec le thème. Le risque est qu’un thème ou un plug-in existant produise déjà une image sélectionnée. Par conséquent, vous souhaitez vérifier le source de votre page et vous assurer que rien d’autre ne consiste à définir une image sélectionnée. J'imagine que c'est le cas puisque votre thème et vos plugins actuels définissent l'image de la publication la plus récemment publiée lorsque vous essayez de la partager.

Fondamentalement, vous ajouteriez une action pour le hook wp_head. Votre action produirait les données d'image Open Graph et Twitter exactement comme vous le feriez si vous choisissiez la première option, en travaillant avec le thème.

Vous devez décider s'il faut coder en dur l'image dans votre plugin ou si vous souhaitez créer une page d'options quelque part dans wp-admin où vous pourrez modifier l'image à tout moment.

5
WebElaine

Différentes plateformes sociales utilisent différentes méthodes.

Pour Facebook, vous avez besoin d'un ensemble de balises <meta> avec des propriétés og - par exemple. og:url, og:type, og:description et og:image. og:image doit contenir le chemin d'accès complet à l'image que vous souhaitez afficher.

Twitter est similaire mais possède son propre mécanisme de "carte" qui requiert son propre ensemble de balises meta - par exemple. name="Twitter:card" et name="Twitter:image"

Je crois qu'il existe des plugins pour gérer cela. J'ai ma propre fonction simple qui utilise la vignette de la page, ou une solution de secours si elle n'est pas définie.

1
Jonny Perl

OG meta tags est probablement ce que vous recherchez, dans ce cas:

<meta property="og:image"content="path/to/foo.jpg" />

mettre à l'intérieur d'un if is_home() et j'espère que cela fonctionnera

0
Dihgg