J'utilise Twitter Intents dans mon thème et je peux partager avec succès les URL des publications sur Twitter. Cependant, j'aimerais pouvoir afficher les images des publications partagées. Est-ce que c'est possible? Je pensais utiliser des cartes Twitter: https://dev.Twitter.com/cards/overview Est-ce une solution viable? Je suppose que j'essaie de comprendre si ce que j'essaie de faire est même possible.
Ceci est un extrait du code:
<div class="myclass>
<a href="https://Twitter.com/intent/tweet?text=<?php echo urlencode( the_permalink() ) ?>" target="_blank"><i class="icon-Twitter"></i></a>
</div>
Merci de votre aide.
J'ai fini avec ce qui suit:
function my_Twitter_cards() {
if (is_singular()) {
global $post;
$Twitter_user = str_replace('@', '', get_the_author_meta('Twitter'));
$Twitter_url = get_permalink();
$Twitter_title = get_the_title();
$Twitter_excerpt = get_the_excerpt();
$twittercard_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full');
$twittercard_thumb = $twittercard_image[0];
if ($Twitter_user) {
echo '<meta name="Twitter:creator" content="@' . esc_attr($Twitter_user) . '" />' . "\n";
}
echo '<meta name="Twitter:card" content="summary" />' . "\n";
echo '<meta name="Twitter:url" content="' . esc_url($Twitter_url) . '" />' . "\n";
echo '<meta name="Twitter:title" content="' . esc_attr($Twitter_title) . '" />' . "\n";
echo '<meta name="Twitter:description" content="' . esc_attr($Twitter_excerpt) . '" />' . "\n";
echo '<meta name="Twitter:image" content="' . esc_url($twittercard_thumb) . '" />' . "\n";
}
}
add_action('wp_head', 'my_Twitter_cards');
Oui, ce que vous voulez implémenter, ce sont des cartes. C’est essentiellement le concept d’injection de métadonnées sur votre site qui indique à Twitter comment vous souhaitez que ces informations soient présentées. Si vous voulez le faire en utilisant du code, vous pouvez l'implémenter en utilisant quelque chose comme ceci (version barebone):
add_action( 'wp_head', 'wpse_add_Twitter_metadata' );
function wpse_add_Twitter_metadata() {
global $post;
printf(
'<meta name="Twitter:card" content="summary" />
<meta name="Twitter:title" content="%s" />
<meta name="Twitter:description" content="%s" />
<meta name="Twitter:image" content="%s" />',
get_the_title( $post ),
get_the_excerpt( $post ),
get_the_post_thumbnail_url($post)
);
}
Avec cette configuration, lorsque quelqu'un va partager votre page avec l'intention de Web ou en copiant et collant l'URL, Twitter doit disposer des informations nécessaires pour générer l'aperçu approprié. Cela dit, je me fierais à un plugin pour faire quelque chose comme ça, personnellement. Les API et les intégrations de médias sociaux comme celle-ci changent constamment et un plugin gratuit comme Yoast SEO gérera cela pour plusieurs réseaux sociaux sans avoir à l'implémenter vous-même.