Php 每页仅显示存档中的一篇文章的木柱

Php 每页仅显示存档中的一篇文章的木柱,php,wordpress,pagination,twig,timber,Php,Wordpress,Pagination,Twig,Timber,我有一个存档页面,它没有显示预期的所有结果。在我的查询中将post_per_page参数更改为-1确实允许显示所有结果,但是当它限制为5篇文章时,我只收到一个结果: if (!isset($paged) || !$paged){ $paged = 1; } $context = Timber::get_context(); $course_args = array( 'post_type' => 'course', 'posts_per_page' => 4,

我有一个存档页面,它没有显示预期的所有结果。在我的查询中将post_per_page参数更改为-1确实允许显示所有结果,但是当它限制为5篇文章时,我只收到一个结果:

if (!isset($paged) || !$paged){
    $paged = 1;
}
$context = Timber::get_context();
$course_args = array(
    'post_type' => 'course',
    'posts_per_page' => 4,
    'paged' => $paged,
    'tax_query' => array(
        array(
            'taxonomy' => 'course-category',
            'field' => 'ID',
            'terms' => $cat
        )
    )
);
$context['pagination'] = Timber::get_pagination();
$context['post'] = Timber::get_posts($course_args);
在我看来,基本迭代

{% for course in post %}
    <div class="col-md-6 px-3 py-5">
        //courseCard
    </div>
{% endfor %}
{%课程在post%}
//课程卡
{%endfor%}

任何帮助都将不胜感激,因为我已经看了这么长时间,所以我一直在兜圈子。

尝试使用木材\PostQuery

$context = Timber::get_context();
$course_args = array(
    'post_type' => 'course',
    'posts_per_page' => 4,
    'tax_query' => array(
        array(
            'taxonomy' => 'course-category',
            'field' => 'ID',
            'terms' => $cat // I guess this variable was created before
        )
    )
);
$context['posts']   = new Timber\PostQuery($course_args);
// Render twig
您不需要创建分页,因为PostQuery会处理这个问题 在你的小树枝档案里

{% for course in posts %}
    <div class="col-md-6 px-3 py-5">
        //courseCard
    </div>
{% endfor %}

{% include 'partials/pagination.twig' with {pagination: posts.pagination} %}

转储(posts)的结果是什么?它生成
null
噢,我刚才提到过-您的上下文是post还是posts$上下文['posts'],我在你的代码中发表了文章。checkdump(post)我现在看到了查询对象结果,很明显foreach循环可能是问题所在/
{{ dump(pagination) }}