Je suis un peu amateur en ce qui concerne PHP et WordPress, mais j’ai truqué le code suivant:
function fb_comment_count($url = 'some url here') {
$filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url);
$json = json_decode($filecontent);
$count = $json->$url->comments;
if ($count == 0 || !isset($count)) {
$count = 0;
}
echo $count;
}
Cela permet de récupérer le nombre de commentaires dans le graphique de Facebook et de l’afficher sur une page. Pour que cela fonctionne, je dois déclarer manuellement l'URL de chaque appel.
Ce que j’ai du mal à faire, c’est de le configurer de sorte que lorsque vous appelez la fonction dans le modèle, celle-ci affiche par défaut le permalien de la publication. J'ai honnêtement essayé tout ce qui m'est venu à l'esprit.
get_permalink () ne fonctionne pas lorsque vous déclarez les arguments dans la fonction.
Toute aide serait grandement appréciée. Merci!
Version finale du code utilisé:
function fb_comment_count($link = 'link') {
global $post;
$url = 'https://graph.facebook.com/';
$posturl = get_permalink($post->ID);
$url .= $posturl;
$filecontent = wp_remote_retrieve_body(wp_remote_get($url, array('sslverify'=>false)));
$json = json_decode($filecontent);
$count = $json->comments;
if ($count == 0 || !isset($count)) {
$count = 0;
}
$comments = $count;
if ($count == 1) {
$comments .= ' Comment';
}
elseif ($count == 0) {
$comments = 'Leave a Comment';
}
elseif ($count > 1) {
$comments .= ' Comments';
}
if ($link == 'nolink') {
echo $comments;
}
else {
echo '<a href="'.$posturl.'#comments" title="Comments for '.$post->post_title.'">'.$comments.'</a>';
}
}
Cela semble extrêmement compliqué lorsque vous pouvez simplement utiliser ceci:
<fb:comments-count href="<?php echo get_permalink($post->ID); ?>"></fb:comments-count> Comments
Essayez ceci et voyez ce que cela vous donne:
function fb_comment_count() {
global $post;
$url = get_permalink($post->ID);
$filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url);
$json = json_decode($filecontent);
$count = $json->$url->comments;
if ($count == 0 || !isset($count)) {
$count = 0;
}
echo $count;
}