我正在运行一个Wordpress查询。它查询一周中的几天,此时,我知道每天重复查询的唯一方法是运行查询7次,手动更改星期几。
有没有办法只运行一次查询?
我的代码:
<?php
$args=array(
'taxonomy' => 'day',
'term' => 'monday',
'post_type' => 'schedule',
'meta_key' => 'tr_show_time',
'orderby' => 'tr_show_time',
'order' => 'asc',
'posts_per_page' => 24,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
My code to execute for the schedule.
<?php endwhile; } wp_reset_query(); ?>
所以目前,我必须更改每个查询中的“术语”,并进行7次相同的查询。必须有更好的方法。
如果有更好的方法,有人可以回答并教我答案吗?
由于
编辑:我只想添加日程表中的每个“日期”有24个项目,每天一小时一个,它们按照00:00到24:00(00:00,01:00)的顺序显示: 00,02:00等)所以这个“订购”需要保持。我能看到的唯一方法就是每天分别查询,这就是为什么我有7个查询。
答案 0 :(得分:1)
我自己解决了这个问题:
<?php
date_default_timezone_set('America/New_York');
$d=date("D");
$current_day = date ('l');
?>
<ul>
<?php
$args=array(
'taxonomy' => 'day',
'term' => $current_day,
'post_type' => 'schedule',
'meta_key' => 'tr_show_time',
'orderby' => 'tr_show_time',
'order' => 'asc',
'posts_per_page' => 24,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php $show_name = get_post_meta( get_the_ID(), 'tr_show_name', true ); ?>
<?php $show_time = get_post_meta( get_the_ID(), 'tr_show_time', true ); ?>
my code here.
<?php endwhile; } wp_reset_query(); ?>
</ul>
答案 1 :(得分:0)
尝试使用tax_query
参数
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'day',
'field' => 'slug',
'terms' => array( 'monday', 'tuesday', 'wednesday' )
)
),
'post_type' => 'schedule',
'meta_key' => 'tr_show_time',
'orderby' => 'tr_show_time',
'order' => 'asc',
'posts_per_page' => 24,
'caller_get_posts'=> 1
);
有关更多信息,请阅读taxonomy queries