我在订购循环时遇到了一些麻烦!我想以倒计时样式(5、4、3、2、1)显示帖子,但使用元数据和用户输入的数据。
我有这个数据:
Post A with meta data (score = 2)
Post B with meta data (score = 4)
Post C with meta data (score = 6)
Post D with meta data (score = 8)
Post E with meta data (score = 10)
示例用户想要显示前 3 个倒计时,因此 $user_input = 3。
然后页面应显示:帖子 C、帖子 D、帖子 E。(按元分数排序,最后显示最佳分数)。
我有一个 wp_query 循环:
$args = array('meta_key' => 'score', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'posts_per_page' => $user_input);
$qry= new WP_Query( $args );
$count_posts = $qry->post_count;
$offset = $count_post - $user_input
while ( $qry->have_posts() ) : $qry->the_post();
// echo stuff
它可以工作,除了因为它设置为 order=ASC 并且每页帖子现在设置为 3(当类别中有 5 个帖子时)它显示帖子 A、帖子 B、帖子 C。这就是我需要的显示除了它应该是 C,D,E。
我以为我需要抵消 wp_query,但我无法在 args 数组中添加“偏移量”,因为我不知道该类别中有多少帖子。我需要在 WP_Query 之后做一个 post_count 并减去 user_input 以知道我需要抵消多少。所以这就是为什么我把计算放在 $offset 上。
我的问题是。如何以正确的方式更改 WP_query?是一个
query_posts('offset'.$offset.'&showposts'.$user_input)
在计算偏移量之后是一种不好的方法,因为它正在执行另一个查询?
有没有办法在 wp_query 设置后轻松添加参数?
多谢你们