WordPress-按发布元数组的数量排序发布

时间:2019-01-25 09:46:25

标签: php wordpress

我正在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],它将显示正确的投票数。

1 个答案:

答案 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 );