From 9a51811c236698e084289dc9b72ff0cb17f1c0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norman=20H=C3=B6hne?= Date: Sat, 16 May 2020 21:49:21 +0200 Subject: [PATCH] Fixes native query to retrieve Facebook counts --- includes/class-shared-counts-core.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/includes/class-shared-counts-core.php b/includes/class-shared-counts-core.php index c6ccdd6..fb16ba3 100644 --- a/includes/class-shared-counts-core.php +++ b/includes/class-shared-counts-core.php @@ -630,6 +630,7 @@ public function query_native_api( $url, $share_count ) { $token = shared_counts()->admin->settings_value( 'fb_access_token' ); if ( $token ) { $args['access_token'] = rawurlencode( $token ); + $args['fields'] = 'engagement'; } $api_query = add_query_arg( $args, 'https://graph.facebook.com/' ); @@ -646,20 +647,13 @@ public function query_native_api( $url, $share_count ) { $body = json_decode( wp_remote_retrieve_body( $api_response ) ); - // Not sure why Facebook returns the data in different formats sometimes. - if ( isset( $body->shares ) && $body->shares > $share_count['Facebook']['share_count'] ) { - $share_count['Facebook']['share_count'] = $body->shares; - } elseif ( isset( $body->share->share_count ) && $body->share->share_count > $share_count['Facebook']['share_count'] ) { - $share_count['Facebook']['share_count'] = $body->share->share_count; - } - if ( isset( $body->comments ) && $body->comments > $share_count['Facebook']['comment_count'] ) { - $share_count['Facebook']['comment_count'] = $body->comments; - } elseif ( isset( $body->share->comment_count ) && $body->share->comment_count > $share_count['Facebook']['comment_count'] ) { - $share_count['Facebook']['comment_count'] = $body->share->comment_count; + if ( isset( $body->engagement ) ) { + $share_count['Facebook']['comment_count'] = $body->engagement->comment_count; + $share_count['Facebook']['share_count'] = $body->engagement->share_count; + $share_count['Facebook']['like_count'] = $body->engagement->reaction_count; } - $share_count['Facebook']['like_count'] = $share_count['Facebook']['share_count']; - $share_count['Facebook']['total_count'] = $share_count['Facebook']['share_count'] + $share_count['Facebook']['comment_count']; + $share_count['Facebook']['total_count'] = $share_count['Facebook']['share_count'] + $share_count['Facebook']['comment_count'] + $share_count['Facebook']['like_count']; } break;