脚本仅适用于最新帖子

时间:2014-01-17 16:39:34

标签: php facebook wordpress

我有这个脚本从Facebook Graph中提取facebook喜欢并将它们用作帖子的元值。它有效。问题是它只更新了5个最新帖子的元值,我无法弄清楚原因。

我做了什么:我试图在一个全新的Wordpress安装上安装脚本,没有插件,默认二十二个主题,localhost但问题仍然存在。

完整脚本: http://pastebin.com/f6LqgqQS
网站网址: http://wisefiction.com/recent
(可能加载缓慢,脚本现在在init上运行而不是wp_cron用于调试目的。如果您喜欢/不同于帖子并重新加载页面''我会看到fb_likes_count仅对前5个帖子进行了更改)

        $args=array(
            'post_type' => 'post',
            'post_mime_type'   => '',
            'post_status'      => 'publish'
    );
    $posts_array = get_posts( $args );

    foreach($posts_array as $post):

            $permalink = get_permalink($post->ID);

    $idpost = $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, 'fb_likes_count', true);

    if($like_no == null){$like_no = 0;}

    update_post_meta($idpost, 'fb_likes_count', $like_no, false);

1 个答案:

答案 0 :(得分:0)

尝试在posts_per_page参数中使用get_posts参数。将其设置为-1以检索所有帖子。请参阅the Codex