Php 按月显示事件(cpt)

Php 按月显示事件(cpt),php,wordpress,datefield,meta-query,Php,Wordpress,Datefield,Meta Query,我已经修改了几次这个帖子,请求帮助。我终于弄明白了,所以我想我会分享对我有用的东西 我们的目标是在Wordpress中创建一个自定义日期字段的元查询,该字段为自定义帖子类型。不是WP核心发布日期。起初,我想用previous和next按钮显示月份和年份日期,这些按钮将前进到下个月。但我放弃了这个想法,认为可以查询月份并单独显示它们,可能使用html手风琴选项卡 由于@Sim1-81使用了和(wpostmeta.meta_值介于'2020-03-01 00:00:01'和'2020-03-31 2

我已经修改了几次这个帖子,请求帮助。我终于弄明白了,所以我想我会分享对我有用的东西

我们的目标是在Wordpress中创建一个自定义日期字段的元查询,该字段为自定义帖子类型。不是WP核心发布日期。起初,我想用
previous
next
按钮显示月份和年份日期,这些按钮将前进到下个月。但我放弃了这个想法,认为可以查询月份并单独显示它们,可能使用html手风琴选项卡

由于
@Sim1-81
使用了
和(wpostmeta.meta_值介于'2020-03-01 00:00:01'和'2020-03-31 23:59:59'之间)
-已于2020年3月生效。但我需要以“当前年份”为基础来计算年份。用这种方式来计算月份和日期是可以的,但我希望年份发生变化,所以它从1中提取数据。本年度的3月-或,2。第二年的3月,如果已经过去(4月等)

此代码的作用正是:

if($n>3){
$y = date('Y') + 1;
} else {
$y = date('Y');
}

$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'custom_date_field'
AND (wpostmeta.meta_value BETWEEN '".$y."-03-01 00:00:01' AND '".$y."-03-31 23:59:59')
AND wposts.post_status = 'publish'
AND wposts.post_type = 'event'
ORDER BY wpostmeta.meta_value DESC
";
  $pageposts = $wpdb->get_results($querystr, OBJECT_K);

 ?>```

可能它的副本看起来像链接的帖子正在查询WP帖子日期。我需要从数据库中的表中查询自定义日期字段。上面代码中的元查询非常有效,但我不知道如何更改
和wpostmeta.meta_值>=CURDATE()
以显示当前月份,等等。更改查询以同时引入日期
和(wpostmeta.meta_值介于'2010-01-30 14:15:55'和'2010-09-29 10:15:55'之间)
谢谢。我会看看这是否能让我有所收获——如果超过一年,这将是理想的。我很好奇在这个字符串中使用BETWEEN,所以我在2019年9月初和月末尝试了它——因为我已经用CURDATE()获得了今年的数据。但它抛出了一个语法错误。