NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 01 novembre 2019 - Modifié le : 17 janvier 2022
Temps de lecture : 1 minute, 59 seconds - 195 mots
Partager la publication "Afficher le nombre de partages d’une page ou un article sur Facebook"
Dans ce tutoriel, nous allons voir comment montrer dans un site web le nombre de partages d’une page ou post WordPress sur Facebook. La première des idées, c’est d’aller créer une nouvelle API dans Facebook developpers.
Une fois votre API créée en quelques secondes allez dans le menu de gauche, paramètres – Général et ici vous allez retrouver l’ID de votre application et la clé secrète. Vous allez pouvoir aussi remplir certaines informations comme le site web autorisé à cette application et d’autres informations si nécessaire.
Ensuite une fois ceci, fait, nous allons mettre une fonction qui va permettre par l’API de faire le compte du nombre de partages Facebook du post id WordPress. Pour ce nous ouvrons notre functions.php et mettons ce code-ci :
function wp_get_shares_facebook( $post_id ) { $cache_key = 'toni_share' . $post_id; $access_token = 'APP_ID|APP_SECRET'; $count = get_transient( $cache_key ); // try to get value from Wordpress cache // if no value in the cache if ( $count === false ) { $response = wp_remote_get( add_query_arg( array( 'id' => urlencode( get_permalink( $post_id ) ), 'access_token' => $access_token, 'fields' => 'engagement' ), 'https://graph.facebook.com/v3.0/' ) ); $body = json_decode( $response['body'] ); //print_r($body); $count = intval( $body->engagement->share_count ); set_transient( $cache_key, $count, 3600 ); // store value in cache for a 1 hour } return $count; }
Dans la ligne $access_token = ‘APP_ID|APP_SECRET’, nous allons remplacer APP_ID par l’ID de l’API, puis APP_SECRET par sa clé secrète.
Puis une fois votre fonction prête, nous allons faire un display du résultat dans l’endroit du template désiré comme ceci :
Comme vous voyez, il faut surtout appellé le Post current ID concerné pour que le compte de partages corresponde bien au ID.
<?php $id = get_the_ID(); echo wp_get_shares_facebook( $id ); ?>