i want to make custom filed that contains facebook like count for the post url
to get the likes i used this code

function fb_count(){
$link = get_permalink($post->ID);
$content = file_get_contents("http://api.facebook.com/restserver.php?method=links.getStats&urls=".$link);
$element = new SimpleXmlElement($content);
$shareCount = $element->link_stat->total_count;
return $shareCount;}

which i don’t know how to store the Facebook data in custom filed
i tried this code but it dos not work

<?php $like_key = 'likes_count';
     $link = get_permalink($id);
$content = file_get_contents("http://api.facebook.com/restserver.php?   method=links.getStats&urls=".$link);
$element = new SimpleXmlElement($content);
$shareCount = $element->link_stat->total_count;
 $key1_values = get_post_custom_values($like_key, $id);
    foreach ( $key1_values as $value )
     update_post_meta($id,$like_key,$shareCount, $value); ?>

i wanna know i what i am doing wrong

3 Answers
3

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 Reply

Your email address will not be published. Required fields are marked *