如何将wordpress分页添加到现有的页面数组?

时间:2013-11-21 00:43:28

标签: php arrays wordpress pagination

我已经搜索了一些关于这个问题的时间并且空白,所以希望有人可以帮助我。

我将自定义主题中的事件页面放在一起,该主题分为两个部分:“即将发生的事件”和“过去的事件”(存档)。我已成功设法提取类别的所有帖子,“事件”,然后根据为每个事件输入的“事件日期”post_meta将它们分成两个数组,但我需要其中一个数组($ past_events)来被分页。

我很乐意使用分页,并且使用偏移和诸如此类的东西没有问题,但我不知道如何将“分页”属性添加到尚未设置的数组中。

这可能吗?或者我是否必须运行一个新查询,将结果与$ past_events中的结果进行比较,并使用偏移值做一些疯狂的事情?

提前致谢。

麦克

1 个答案:

答案 0 :(得分:0)

很抱歉,自从我上次发表评论以来已经过了很长一段时间。我陷入了不得不在另一个项目工作,然后我的笔记本电脑死在我身上。

无论如何,我找到了使用亨利赖特建议的解决方案。

从建议开始使用两个单独的查询,并使用上面评论中给出的链接中找到的有关WP_Query和meta_query的信息,我生成了以下代码:

    <?php 
    $today = date('Y/m/d');
    $args = array(
        'post_type' => 'post',
        'category_name' => 'Event',
        'meta_key' => 'event-date',
        'orderby' => 'meta_value',
        'paged' => $paged,
        'posts_per_page' => 3,
        'meta_query' => array(
                array(
                    'key' => 'event-date',
                    'value' => $today,
                    'compare' => '<'
                )
        )
    );
    $event_archive = new WP_Query($args); ?>

我会简单地解释一下像我这样可能遇到这种情况并且不理解的任何新手。

$今天以yyyy / mm / dd格式存储今天的日期

$ args数组获取类别“Event”中的所有帖子,并按meta_value命令它们(在这种情况下,它是事件的日期,已作为自定义字段的值输入 - “事件-date“ - 并且必须采用与$ today相同的格式才能使查询正常工作”

meta_query查看所有相关帖子中“event-date”自定义字段的值,并将内容与$ today值进行比较,并返回今天“小于”$的所有内容,即 in过去

返回的帖子分页为每页3个。用于向其添加编号分页的代码基于找到的here

好吧,所以不一定是“简短”的解释,但这是我在解释中所喜欢的细节水平,所以我认为这也适用于其他人。

感谢henrywright将我指向正确的方向。