我正在尝试将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元字段,因此我无法从中获得任何值。非常感谢您的帮助。
最合适的回答,由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
.