我正在使用Wordpress。我想显示即将发生的事件,这些事件是自定义帖子类型模板(posttype-archive.php)中的帖子。我想将带有unix timestam的自定义字段与当前时间戳进行比较。它总是以某种方式列出该特定自定义帖子类型的所有帖子。
<?php
$today = time();
//First Query for Posts matching term1
$args = array(
'post_type' => 'exhibitions',
'relation' => 'AND',
'meta_query' => array(
'key' => 'start_date',
'value' => $today,
'compare' => '>=',
'type' => 'NUMERIC'
)
);
$query = new WP_Query( $args );
if ( have_posts() ) {
$term = $query->queried_object;
while ( have_posts() ) : the_post(); ?>
<?php ?>
<?php print_r ($args); ?>
<div class="auss_left">
<h2><?php echo rwmb_meta( 'gastgeberin' ); ?><br />
<?php the_title(); ?></h2>
<?php
$date =rwmb_meta( 'Date' );
if (!$date){
echo rwmb_meta( 'start_date' ); ?> - <?php echo rwmb_meta( 'end_date' );
}
?>
<?php if ($date){
echo rwmb_meta( 'Date' );
} ?>
<?php echo rwmb_meta( 'Ort' ); ?>
<?php echo rwmb_meta( 'Adresse' ); ?>
<?php echo rwmb_meta( 'Karte' ); ?>
Öffnungszeiten:<br/>
<?php echo rwmb_meta( 'oeffnungszeiten' ); ?>
Vernissage:<br/>
<?php echo rwmb_meta( 'vernissage' ); ?>
</div>
<div class="auss_right">
<?php the_content(); ?>
</div>
<?php endwhile;
}
//RESET YOUR QUERY VARS
wp_reset_query();
?>
我希望此WP查询仅列出即将发生的事件,但始终列出所有事件。
答案 0 :(得分:0)
您正在创建自定义WP_Query,但是您没有在任何地方使用它。尝试以下方法:
<?php
$today = time();
//First Query for Posts matching term1
$args = array(
'post_type' => 'exhibitions',
'relation' => 'AND',
'meta_query' => array(
array(
'key' => 'start_date',
'value' => $today,
'compare' => '>=',
'type' => 'NUMERIC',
),
),
);
$events_query = new WP_Query( $args );
if ( $events_query->have_posts() ) :
while ( $events_query->have_posts() ) : $events_query->the_post(); ?>
<div class="auss_left">
<h2>
<?php echo rwmb_meta( 'gastgeberin' ); ?>
<br />
<?php the_title(); ?>
</h2>
<?php
$date = rwmb_meta( 'Date' );
if ( ! $date ) {
echo rwmb_meta( 'start_date' ); ?> - <?php echo rwmb_meta( 'end_date' );
} else {
echo rwmb_meta( 'Date' );
}
echo rwmb_meta( 'Ort' );
echo rwmb_meta( 'Adresse' );
echo rwmb_meta( 'Karte' );
?>
Öffnungszeiten:<br/>
<?php echo rwmb_meta( 'oeffnungszeiten' ); ?>
Vernissage:<br/>
<?php echo rwmb_meta( 'vernissage' ); ?>
</div><!-- /.auss_left -->
<div class="auss_right">
<?php the_content(); ?>
</div><!-- /.auss_right -->
<?php endwhile;
endif;
//RESET YOUR QUERY VARS
wp_reset_postdata();
也如@josedasilva所述,您应该仔细检查为“ start_date”元键存储的值是否为整数。
答案 1 :(得分:0)
我这样做是可行的,我认为这只是array-Structure的区别,我使用了YYYY-MM-DD格式。