使用自定义字段日期按月对CPT事件进行分组和分页

时间:2016-06-13 作者:Sebastian Melmac

    $start_date = date( \'ym01\' );
$end_date = date( \'ymt\' );
$meta_query = array(
    \'key\'       => \'event_date\',
    \'value\'     => array( $start_date, $end_date ),
    \'compare\'   => \'BETWEEN\',
    \'type\'      => \'NUMERIC\'
);
$args = array(
    \'post_type\'         => \'spektakle_event\',
    \'posts_per_page\'    => -1,
    \'orderby\'           => \'meta_value\',
    \'meta_key\'          => \'event_date\',
    \'order\'             => \'ASC\',
    \'meta_query\'        => array( $meta_query )
);
$the_query = new WP_Query( $args );
我在CPT页面spektakle事件中使用了此代码。php仅显示本月事件。但是,如何进行导航以显示下个月或下个月的事件?自定义帖子类型具有yyyymmdd格式的自定义字段event\\u date。

或者更简单的想法(但我不知道如何构建查询),该页面将检查现在是哪个月,并仅显示自定义字段中具有相同编号的事件(我知道如何设置该字段:D),导航将为addin+1或-1,以搜索下一个月和上一个月的事件。。。。有什么帮助吗?

1 个回复
SO网友:Rarst

这不是WordPress可以轻易做到的。您可以将WP中的分页视为显示一个大型查询的固定大小部分的滑动窗口。它可以在查询的开头或结尾,但它依赖于它是同一个查询。

当页面的大小和数量受制于这样的可变逻辑时,这几乎不起作用。

我最近回答了非常类似的问题recommended to use date archives. 但您的情况更加复杂,因为您的生效日期位于自定义字段中。

我想总的来说,您无法轻松构建像导航这样有意义的分页。像分面搜索这样的东西可能会更好地服务于这一点。