wordpress - Wordpress:根据 ACF 日期在存档中设置自定义字段
问题描述
我创建了一个名为“date_dexpiration”的自定义字段 ACF,格式为:d/m/YH:i
当我创建一个没有到期日期的新帖子时,“date_dexpiration”字段未填写并保持为空。
我想在存档(使用 elementor 帖子小部件创建)中设置一个自定义过滤器,以隐藏日期为“date_dexpiration”< 今天的所有帖子。我写了这个插入function.php的代码
add_action( 'elementor/query/filter_expiration_date', function( $query ) {
$today = date('d/m/Y H:i');
$meta_query = $query->get( 'meta_query' );
$meta_query = [
[
'key' => 'date_dexpiration',
'value' => $today,
'compare' => '>=',
]
];
$query->set( 'meta_query', $meta_query );
} );
它不起作用:
- 不显示所有带有空字段“date_dexpiration”的帖子
- 不显示所有填充字段“date_dexpiration”的字段
你能帮我调试这段代码吗?
解决方案
日期字段的 ACF 默认格式是Ymd
,因此您需要转换$today
为Ymd
格式。试试下面的代码。
add_action( 'elementor/query/filter_filter_expiration_date', function( $query ) {
$today = date('d/m/Y H:i');
$today = date( 'Ymd', strtotime( $today ) );
$meta_query = $query->get( 'meta_query' );
$meta_query = [
[
'key' => 'date_dexpiration',
'value' => $today,
'compare' => '>=',
]
];
$query->set( 'meta_query', $meta_query );
} );
推荐阅读
- pymongo - 如何检查集合是视图?
- makefile - 从另一个目标调用一个目标,并在 makefile 中传递一个变量或值
- android - Firebase Analytics:DebugView 有时会发生双重事件
- javascript - 向下滚动后如何使 div 出现并具有粘性?
- python-3.x - IPyNB:Print() 和日志记录模块的顺序不正确
- firebase - 如何创建仅允许更新 Firestore 中大于 0 的值的规则?
- java - Java 8 REST API - 从服务器返回图像列表
- javascript - 无法在对象中添加动态键值对
- python - 如何初始化矩阵的火炬
- google-analytics - Google Analytics API - 如何创建新帐户