J'essaie de faire cela dans une page d'accueil du site de nouvelles.
La partie avec laquelle je me bats est le texte du lien de partage Facebook. Cela devrait:
Le texte est arbitraire, j'aimerais pouvoir le contrôler.
J'ai trouvé ce code pour obtenir le nombre de likes:
function get_likes($url) {
$json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
$json = json_decode($json_string, true);
return intval( $json[$url]['shares'] );
}
Et j'ai réussi à l'utiliser pour obtenir le nombre de partages réel:
<a href="http://www.facebook.com/sharer.php?u=<?php the_permalink();?>&t=<?php the_title(); ?>">
<?php $url = get_permalink( $post_id ); echo get_likes("$url"); ?> shares</a>
Maintenant, la partie difficile serait de savoir comment contrôler le texte de la même manière que dans "comments_number":
comments_number( 'no responses', 'one response', '% responses' );
Un indice?
J'ai trouvé une solution simple grâce à cette réponse: Comment changer le singulier/pluriel de "comment" en "commentaires" sur le nombre de commentaires de Facebook?
Voici comment j'ai résolu sans la balise, en utilisant le code pour lequel je travaillais déjà, cela va dans function.php
function get_likes($url) {
$json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
$json = json_decode($json_string, true);
$count = intval( $json[$url]['shares'] );
if ($count == 0) {
echo "share!";
} elseif ($count == 1) {
echo "shared 1 time";
} else {
echo "$count shares";
}
}
et cela dans le modèle
<?php $url = get_permalink( $post_id ); echo get_likes($url); ?>