我正在尝试寻找实现此功能的最佳方法。我有一些事件,只要它们在日期参数内就会显示,如下所示:
<?php $args = array(
'post_type' => 'events',
'orderby' => '_cmb_event_date_timestamp',
'meta_key' => '_cmb_event_date_timestamp',
'order' => 'ASC',
'meta_query' => array(
array( /* Timestamp query to hide old dates */
'key' => '_cmb_event_date_timestamp',
'value' => strtotime('today'),
'compare' => '>'
)
),
);
$q = new WP_Query($args);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
Run Code Online (Sandbox Code Playgroud)
我有两个按钮:一个说upcoming events,另一个说past events。我想'compare' => '<' 在past events单击时运行反向查询,但我不知道如何最好地实现此功能。任何实现这一点的建议/方法将不胜感激。我尝试使用 jquery 重新加载,但无法使其工作。
您如何获取内容?阿贾克斯?如果不是 - 只需添加特定的 $_GET 参数来链接并在构建 wp 查询时捕获它。例如:
<?php $args = array(
'post_type' => 'events',
'orderby' => '_cmb_event_date_timestamp',
'meta_key' => '_cmb_event_date_timestamp',
'order' => 'ASC',
'meta_query' => array(
array( /* Timestamp query to hide old dates */
'key' => '_cmb_event_date_timestamp',
'value' => strtotime('today'),
'compare' => '>'
)
),
);
if (isset($_GET['past_events'])) {
$args['meta_query'][0]['compare'] = '<';
}
$q = new WP_Query($args);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
Run Code Online (Sandbox Code Playgroud)
以及链接:
<a href="<?php echo esc_attr( add_query_arg( 'past_events', '' ) ); ?>">past events</a>
Run Code Online (Sandbox Code Playgroud)