custom field with total count of Facebook likes, comments and shares

I’ve done it, here is the complete code:

function insert_facebook_likes_custom_field($post_ID) {
    global $wpdb;
    if (!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'likes_count', '0', true);
    }
}
add_action('publish_page', 'insert_facebook_likes_custom_field');
add_action('publish_post', 'insert_facebook_likes_custom_field');

function update_facebook_likes($content="") {
    global $wp_query;
    $permalink = get_permalink();
    $idpost = $wp_query->post->ID;
    $data = file_get_contents('http://graph.facebook.com/?id='.$permalink);
    $json = $data;
    $obj = json_decode($json);
    $like_no = $obj->{'shares'};
    $meta_values = get_post_meta($idpost, 'likes_count', true);
    if ($like_no == null) {
        $like_no = 0;
    }
    update_post_meta($idpost, 'likes_count', $like_no, false);
    return $content;
}
add_action('the_content', 'update_facebook_likes');

Just copy/paste this code into functions.php. The data will store in a custom field called likes_count. Hope it helps

Leave a Comment