【发布时间】:2020-04-24 07:54:11
【问题描述】:
我正在使用带有 Advanced Custom Fields Pro 插件的 Wordpress,我正在尝试获取所有日期字段在今天之后的帖子。我查看了这个示例https://www.advancedcustomfields.com/resources/date-picker/,除了我的字段是转发器字段的子字段之外,它工作正常。我在为此进行元查询时遇到了一些麻烦。我尝试将_%_ 用于子字段,但后来我在这里读到https://support.advancedcustomfields.com/forums/topic/meta_query-for-a-group-field-sub-field/,我可以在子字段中使用下划线。但是帖子仍然没有任何结果。我尝试从一个帖子中检查日期,它似乎工作正常。我还在这里读到advancedcustomfields.com/resources/date-picker,日期始终以 Ymd 形式存储在数据库中。我尝试对另一个不是子字段且有效的字段进行此操作,所以问题出在我认为的子字段'key' => 'date_startdate',
我将日期选择器用作子字段。
function do_get_upcoming($atts = [])
{
$defaultLimit = 8;
$limit = $atts["limit"] != null ? $atts["limit"] : $defaultLimit;
$today = date('Ymd');
$posts = get_posts(array(
'numberposts' => $limit,
'post_type' => 'events',
'meta_query' => array(
array(
'key' => 'date_startdate',
'value' => $today,
‘type’ => ‘DATE’
'compare' => '>',
)
),
));
echo count($posts);
}
add_shortcode('get_upcoming','do_get_upcoming');
【问题讨论】:
-
它与另一个字段一起工作的事实表明这不是编码问题!您如何在 ACF 字段管理中检查您的日期格式?我记得有一个显示格式和一个计算格式。
-
没有计算选项,从我用 acf pro 阅读的内容来看,在处理查询时它总是 Ymd。我在问题中添加了屏幕截图。
-
这里是advancedcustomfields.com/resources/date-picker 请注意,该值始终保存为数据库中的 Ymd (YYYYMMDD)。
标签: wordpress advanced-custom-fields