NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Faire un display du compte de partages Facebook - Post ID
Intermédiaire

---- Cet article a été modifié : 15 mai 2021

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 ); ?>

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>