通过函数.php存储SNS共享值

时间:2013-04-01 作者:Seung-hoon Ryu

我正在尝试将SNS共享值+评论计数存储在我的Posteta数据库中。我在下面输入代码来完成此任务,

function get_sns_share($post_ID=0) { 
    $url1=get_permalink($post->ID);
    $src = json_decode(file_get_contents(\'http://graph.facebook.com/\' . $url1));
    $share_count = $src->shares; // facebook commnet + comment like + share + like
    $my_var = get_comments_number( $post_id ); // comment count
    $social_score = $share_count + $my_var + $tweet; // social score sum
        if ($social_score > 999) $social_socre = 999;

    return $social_score;

update_post_meta($post_id, \'_social_score\', $social_score);
}
问题是,除了update\\u post\\u meta之外,这段代码在每个字段都能正常工作。似乎它并没有向我的数据库添加add post元字段,因此我无法从中获得任何值。非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

在函数或方法中return 语句立即停止执行较早的
因此,最后一行永远不会被解释。

切换此的顺序:

return $social_score; 
update_post_meta($post_id, \'_social_score\', $social_score);
对此:

update_post_meta($post_id, \'_social_score\', $social_score);
return $social_score;

Update:

您正在为post id使用三个不同的变量,即:$post_ID, $post_id$post->ID. 应使用函数参数:$post_ID.

结束

相关推荐

更新后,任何Facebook组件都不能在WordPress网站上运行。为什么?

在更新插件和Wordpress. 我一直在使用的所有Facebook小部件都消失了。在代码中,我看到: <fb:like href=\'http://facebook.com/...\' send=\'false\' layout=\'standard\' show_faces=\'false\' width=\'200\' height=\'65\' action=\'like\' colorscheme=\'light\' font=\'lucida grande\'></fb