我正在尝试在侧边栏中显示日历。应在此日历中显示的帖子具有一个名为 event_date 的自定义字段。该字段填充了一个日期,格式类似于 YYYYMMDD。我试图让未来的事件出现。
我的第一个计划是仅显示带有event_date字段的帖子,这是成功的:
<?php
$args = array
(
'showposts' => 10,
'meta_key' => 'event_date',
'meta_value' => '',
'meta_compare' => '!='
);
query_posts( '$args' );
?>
但我不知道如何从这里开始,只能过滤掉未来的事件。当然,我可以稍后在while循环中进行过滤,但这听起来不像是一个干净的解决方案。
如果可以按日期对它们进行排序,那就更令人惊讶了,但除此之外,我只会将所有内容排在一个数组中并从那里计算顺序。
使用时间戳而不是 yyyymmdd 不是解决方案,因为这需要对编辑者进行大量教育。
希望有人能为我指出正确的方向。提前非常感谢!
输入您的问题总是有帮助的。知道了!无论如何,感谢您的阅读!
这是我的解决方案,愚蠢的是我以前没有弄清楚这一点:
<?php
$args = array
(
'showposts' => 10,
'meta_key' => 'event_date',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_value' => date("Ymd", date("U")-3600*24),
'meta_compare' => '>'
);
query_posts( $args );
?>