我正在WordPress中构建投票系统,但无法通过帖子元计数来订购帖子。我将元值设置如下:
$args = array(
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_key' => 'my_vote',
);
$query = new WP_Query( $args );
这很好,但是我无法通过投票数确定如何订购帖子。我试过像这样运行它,但它只需要一个post meta值(第一个),并按其值排序:
count( get_post_meta( $post_id, 'my_vote' ) )
是否有任何方法可以通过发布元数组的数量进行排序?如果我运行ForeachWriter[Row]
,它将显示正确的投票数。
答案 0 :(得分:0)
如果您想采用简单的方法,请添加另一个元数据来计算票数。
检查:
add_post_meta( $post_id, 'my_vote', $user_ip );
// Add code below this line
$count = get_post_meta( $post_id, 'my_vote_count', true );
$count = empty( $count ) ? 1 : ($count + 1);
update_post_meta( $post_id, 'my_vote_count', $count );
然后更改查询:
$args = array(
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_key' => 'my_vote_count',
);
$query = new WP_Query( $args );