Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 使用细枝分页不正确_Wordpress_Pagination_Twig_Timber - Fatal编程技术网

Wordpress 使用细枝分页不正确

Wordpress 使用细枝分页不正确,wordpress,pagination,twig,timber,Wordpress,Pagination,Twig,Timber,我在WordPress中使用Timber插件中的Twig,我基本上遵循了他们用于分页的布局 它显示的很好,但对于该位,参数似乎无法正常工作: {% include 'partials/pagination.twig' with { pagination: posts.pagination({show_all: false, mid_size: 2, end_size: 1}) } %} 无论我如何设置这些参数,它都会输出每一页;因此,如果我有10页,它将打印出所有10页的数字;我不想要这个,我

我在WordPress中使用Timber插件中的Twig,我基本上遵循了他们用于分页的布局

它显示的很好,但对于该位,参数似乎无法正常工作:

{% include 'partials/pagination.twig' with { pagination: posts.pagination({show_all: false, mid_size: 2, end_size: 1}) } %}
无论我如何设置这些参数,它都会输出每一页;因此,如果我有10页,它将打印出所有10页的数字;我不想要这个,我想把它限制在5个


这里出了什么问题?

您不需要使用默认的
分页
模板,您可以完全自定义

{% set pages_to_show = 5 %}
{% set current = posts.pagination.current %}
{% set max = current + (pages_to_show - 1) %}
{% if max > posts.pagination.total %}
    {% set current = posts.pagination.total - (pages_to_show - 1)  %}
    {% set max = posts.pagination.total %}
{% endif %}


<div class="tool-pagination">
    {% if posts.pagination.prev %}
        <a href="{{posts.pagination.prev.link}}" class="prev {{posts.pagination.prev.link|length ? '' : 'invisible'}}">Prev</a>
    {% endif %}    
    <ul class="pages">
        {% for i in current..max %}
            <li>
                {% if posts.pagination.pages[i].link %}
                    <a href="{{posts.pagination.pages[i].link}}" class="{{posts.pagination.pages[i].class}}">{{posts.pagination.pages[i].title}}</a>
                {% else %}
                    <span class="{{posts.pagination.pages[i].class}}">{{posts.pagination.pages[i].title}}</span>
                {% endif %}
            </li>
        {% endfor %}
        {% if posts.pagination.next %}
            <a href="{{posts.pagination.next.link}}" class="next {{posts.pagination.next.link|length ? '' : 'invisible'}}">Next</a>
        {% endif %}     
    </ul>
</div>
{%set pages\u to\u show=5%}
{%set current=posts.pagination.current%}
{%set max=current+(页面显示-1)%}
{%if max>posts.pagination.total%}
{%set current=posts.pagination.total-(pages_to_show-1)%}
{%set max=posts.pagination.total%}
{%endif%}
{%if posts.pagination.prev%}
{%endif%}
    {当前..max%}
  • {%if posts.pagination.pages[i].link%} {%else%} {{posts.pagination.pages[i].title} {%endif%}
  • {%endfor%} {%if posts.pagination.next%} {%endif%}



这只是一个小例子,说明了如何解决这个问题。记录集包含10页的记录,但您只想显示5页?那你为什么不限制记录集?@DarkBee不,你误解了。我只想一次显示5页。如果谷歌有1000页的搜索结果,他们不会一次显示所有1000个链接@除非您的意思是限制每个特定页面的记录集,使其在记录集中向上移动以显示正确的页码。不,这很混乱,因为您正在谈论页面。因此,您有10个项目要显示在2页上,每个项目5个正确?请参见相应地更改查询这太好了-非常感谢DarkBee!:)当我有能力的时候,我会赏金的。