web-dev-qa-db-ja.com

facebookのお気に入り、コメント、シェアの総数を含むカスタムフィールド

私は私がこのコードを使用したようなものを取得するための投稿のURLのカウントのようなFacebookを含むカスタムファイルを作りたい

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;}

私はカスタムファイルにFacebookのデータを保存する方法がわからない私はこのコードを試したが、それは動作しません

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

私は私が間違っているのか私に知ってほしい

2
Shady M Rasmy

私はそれをやった、これが完全なコードだ:

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

このコードをfunctions.phpにコピー&ペーストするだけです。データはlikes_countというカスタムフィールドに保存されます。それが役に立てば幸い

2
Shady M Rasmy

フルテキストでFacebookのファンの表示数については、私はコードのこの部分を使用しました:

$page_id = "YOUR PAGE-ID";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");
$fans = $xml->page->fan_count;
echo $fans;

"あなたのページID" - > FacebookページのID。私は役に立つことを願っています。

0
user24259

PHP関数を使用したFacebookのお気に入り数、共有数、コメント数の取得 を参照してください。
facebookのFQLを使用してfacebookのいいね、コメント、そしてシェア数を取得し、それをjson経由で取得してテキストとして表示できる新しいバージョン。ビューを操作して好きなようにデザインすることができます。とても便利でシンプルなコード、そしてとても便利

0
wilbert