ACF 匹配当前日期
好长一段时间没有更新!最近为客户开发一个系统应用到的一个功能,就是需要自动匹配时间适应当前的日期,利用到了 meta_key,以及 meta_query array,选择 the_filed 的值和当前的时间进行匹配,compare 以及 DATETIME 属性进行,参考官方文档如下:
PHP
<?php
// Find todays date in Ymd format.
$today = date(‘Ymd’);
// Query posts using a meta_query to compare two custom fields; start_date and end_date.
$posts = get_posts( array(
‘post_type’ => ‘event’,
‘meta_query’ => array(
array(
‘key’ => ‘start_date’,
‘compare’ => ‘<=’,
‘value’ => $today,
),
array(
‘key’ => ‘end_date’,
‘compare’ => ‘>=’,
‘value’ => $today,
)
),
));
if( $posts ) {
foreach( $posts as $post ) {
// Do something.
}
}
参照其写法结合自己的数据进行,始终不成功,后来再经过一番研究,结合自己的程序,吧代码修改为下,效果实现:
PHP
<?php
$query = new WP_Query(
array(
‘orderby’ => ‘DESC’,
‘post_status’ => ‘publish’,
‘meta_key’ => ‘A_Time’,
‘meta_query’ => array(
array(
‘key’ => ‘A_Time’,
‘value’ => date_i18n( “Y-m-d” ),
‘compare’ => ‘=’,
‘type’ => ‘DATETIME’,
)
)
)
);
while ( $query->have_posts() ): $query->the_post();
?>
<li> <a href=”<?php the_permalink(); ?>”>
<?php the_post_thumbnail();?>
</a> </li>
<?php endwhile; ?>
$query = new WP_Query(
array(
‘orderby’ => ‘DESC’,
‘post_status’ => ‘publish’,
‘meta_key’ => ‘A_Time’,
‘meta_query’ => array(
array(
‘key’ => ‘A_Time’,
‘value’ => date_i18n( “Y-m-d” ),
‘compare’ => ‘=’,
‘type’ => ‘DATETIME’,
)
)
)
);
while ( $query->have_posts() ): $query->the_post();
?>
<li> <a href=”<?php the_permalink(); ?>”>
<?php the_post_thumbnail();?>
</a> </li>
<?php endwhile; ?>
经过调试,功能实现,但是发现这段代码运行起来好想不是很稳定,现在还在研究最确切的方法达到效果!
Last Updated On Feb 14, 2023 At 08:15:09 PM