【发布时间】:2013-08-12 12:07:33
【问题描述】:
我有一个允许用户“喜欢”帖子的 WordPress 网站。这会在包含用户 ID 的帖子中添加一个自定义字段,如下所示:
add_post_meta($post_id, 'like', $user_id, false);
因此,一条帖子最终可能会带有一个带有用户 ID 的 100 个不同的“like”键。
所以我想根据喜欢返回一个最活跃用户的排行榜。因此,我想查询出现最多的 $user_id 的 meta_key 'like'。它看起来像这样。 显然这目前不起作用。
$args = array(
'post_type' => 'post',
'meta_key' => 'likes',
'post_status' => 'publish',
'posts_per_page' => 20,
'orderby' => 'popularity', // This doesn't exist yet, but I wants it!
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'likes',
'value' => $user_id,
'compare' => '=',
)
)
);
$query = new WP_Query($args);
这甚至可能吗?或者我最好定期获取所有帖子,将点赞数加起来并缓存结果?
我知道我可以创建一个自定义字段,该字段会随着用户的喜好而递增,但我宁愿提出一个查询来实时获取结果(删除用户等时更强大)。
谢谢, 画了
【问题讨论】:
-
点赞数会增加价值吗? (即,当一个新的喜欢进来时,它会加起来)
-
没有喜欢的人加起来。每个赞只是点击赞的人的用户 ID。您必须登录才能查看该页面。
-
我可能会从 facebook 获得点赞数(见this question)然后
orderbymeta_value_num -
我的应用与 Facebook 无关。好主意。
标签: wordpress ranking popularity