查询日期数组以仅显示将来的事件-PHP

svsdnb

在Wordpress中,我创建了一个名为“事件”的自定义帖子类型,并使用“高级自定义字段”将其添加到自定义字段中。我只有基本领域,因为我们对日历的需求本身就是基本的。

字段是:开始日期,结束日期,开始时间,结束时间,位置,标题

我正在尝试使用基本上是“如果结束日期大于今天的日期,然后显示帖子”的数组来查询帖子。

问题是“高级自定义字段”具有内置的DatePicker,其日期格式设置为YYYYMMDD,而不是PHP格式的YYYY-MM-DD。这是我今天的代码:

if (isset($_GET['_m'])) {

    $current_month = $_GET['_m'];
    $current_day = date('d'); // the actual day
    $current_year = $_GET['_y'];
    $future_year = 2016;

    $startday = $current_year.$current_month.$current_day;
    $endday = $future_year.$current_month.$current_day;

    echo $startday;
    echo $endday;

}
    $args = array(
        'post_type' => 'events',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'meta_key' => 'event_date_ends',
    'meta_query' => array( 
                'key' => 'event_date_ends',
                'compare' => '>=',
                'value' => $startday,
                'type' => 'DATE'
            ), 
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
);

我已经尝试了至少20种变体和技术,最终结果是A)返回所有已发布的“事件”或B)没有返回已发布的“事件”。

我出于各种原因而试图避免使用日历插件,这主要是因为大多数资源都很庞大,并且客户也希望特别设置返回值,而我却无法找到可自定义的日历插件。从外观上看,它已被批准,但过去的事件不会自动删除。

更新:

我能够将“高级自定义字段”日期转换为YYYY-MM-DD并使用了此代码,但是它返回了所有“事件”

$args = array(
        'post_type' => 'events',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'meta_query' => array(
                'key' => 'event_date_ends',
                'compare' => '>=',
                'value' => date(Y-m-d),
                'type' => 'DATE'
            ),
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
);
svsdnb

我发现了实际的问题,所以我以为会更新。

ACF文档说使用$ today = date('Ymd')来比较日期,但是您确实需要使用current_time('Ymd'),因此我删除了我添加并修复问题的functions.php代码,而不是解决该问题。

这是我的查询

$event1 = current_time('Ymd');
    $args = array(
        'post_type' => 'events',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'meta_query' => array(
        array(
            'key' => 'event_date_ends',
            'compare' => '>=',
            'value' => $event1,
            )
            ),
    'meta_key' => 'event_date_ends',
    'orderby' => 'meta_value',
    'order' => 'ASC',
    'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP Laravel日期数组循环逻辑

来自分类Dev

在PHP中生成日期数组

来自分类Dev

如何使用 php 显示 MySQL 数据库中的十进制和日期数组

来自分类Dev

我想将来自引导程序日期选择器的日期数组转换为 yyyy-mm-dd 格式的 PHP 日期

来自分类Dev

如何通过PHP对日期数组进行排序?

来自分类Dev

PHP-格式化日期数组并比较

来自分类Dev

PHP DateTime 输出范围内的日期数组

来自分类Dev

如何在PHP中的日期数组中从最接近的日期到最远的日期排序

来自分类Dev

php mysql“根据日期显示事件名称”

来自分类Dev

带查询的日期数组

来自分类Dev

查询中的日期数组

来自分类Dev

PHP-如何在日期数组中查找缺失的日期并填补缺失的空白

来自分类Dev

PHP数组仅显示最后推送的值

来自分类Dev

在PHP中如何从一组自定义周期中获取日期数组

来自分类Dev

php-获取与$ date在同一周的日期数组

来自分类Dev

PHP:使用两种类型的排序构建日期数组

来自分类Dev

php中的星期日到星期六星期日期数组

来自分类Dev

PHP-从日期获取星期数

来自分类Dev

PHP日期问题-获取正确的星期数

来自分类Dev

用PHP查找星期数日期

来自分类Dev

PHP日期数学年与天

来自分类Dev

格式化php datetime对象以显示将来的日期,同时保留日期

来自分类Dev

PHP在循环数据内回显数组仅显示数组

来自分类Dev

在页面php之间传递日期并仅显示年份

来自分类Dev

从 MySQL 查询使用 PHP 显示即将发生的事件

来自分类Dev

查询PHP输出突然显示仅代码,没有值?

来自分类Dev

用PHP获取将来的特定日期

来自分类Dev

PHP显示薪资日期

来自分类Dev

使用PHP,CodeIgniter和MySQL显示查询的日期字段问题?

Related 相关文章

热门标签

归档