Skip to content

Commit

Permalink
Fixes native query to retrieve Facebook counts
Browse files Browse the repository at this point in the history
  • Loading branch information
NormanHoehne authored May 16, 2020
1 parent 5e5a2f1 commit 9a51811
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions includes/class-shared-counts-core.php
Original file line number Diff line number Diff line change
Expand Up @@ -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/' );
Expand All @@ -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;

Expand Down

0 comments on commit 9a51811

Please sign in to comment.