Wordpress 本机分页有时会失败

问题描述

我已经阅读了很多关于这个问题的文章和问答主题

六个月前我也在这里问过问题:Wordpress pagination sometimes doesn't load/show

到目前为止没有任何帮助。

问题是,正如标题所说,分页有时会加载,有时会失败。我尝试了不同的实现分页方法功能。问题总是一样的。
这可能是服务器问题吗? 我无法在本地主机上重现此错误

我们为每个站点使用服务器端 Vhost 规则来重定向到不同的域。
这会导致这个问题吗?

这是我的 WP 配置:
WP Multisite Network - 22 个站点运行在一个自定义主题上(每个站点都有 Vhost 规则) 索引模板、类别模板、存档模板、搜索模板——它们都使用原生 wordpress 循环。

这是我用于分页代码片段:

function pagination() {
    if (is_singular()) {
        return;
    }
    global $wp_query;
    // -- Stop execution if there's only 1 page
    if ($wp_query->max_num_pages <= 1) {
        return;
    }

    $paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
    
    $max = intval($wp_query->max_num_pages);

    // -- Add current page to the array
    if ($paged >= 1) {
        $links[] = $paged;
    }
    // -- Add the pages around the current page to the array
    if ($paged >= 3) {
        $links[] = $paged - 1;
        $links[] = $paged - 2;
    }
    if (($paged + 2) <= $max) {
        $links[] = $paged + 2;
        $links[] = $paged + 1;
    }
    // -- adding classes to prev and next links
    add_filter('next_posts_link_attributes','posts_link_next');
    add_filter('prevIoUs_posts_link_attributes','posts_link_prev');
    function posts_link_next() {
        return 'class="next page-numbers"';
    }
    function posts_link_prev() {
        return 'class="prev page-numbers"';
    }
    // -- PrevIoUs Post Link
    if (get_prevIoUs_posts_link()) {
        prevIoUs_posts_link("« Zurück",0);
    }
    // -- Link to first page,plus ellipses if necessary
    if (!in_array(1,$links)) {
        $class = 1 == $paged ? ' class="page-numbers current"' : ' class="page-numbers"';
        printf('<a%s href="%s">%s</a>',$class,esc_url(get_pagenum_link(1)),'1');
        if (!in_array(2,$links)) {
            echo '<span class="page-numbers dots">…</span>';
        }
    }
    // -- Link to current page,plus 2 pages in either direction if necessary
    sort($links);
    foreach ((array)$links as $link) {
        $class = $paged == $link ? ' class="page-numbers current"' : ' class="page-numbers"';
        printf('<a%s href="%s">%s</a>',esc_url(get_pagenum_link($link)),$link);
    }
    // -- Link to last page,plus ellipses if necessary
    if (!in_array($max,$links)) {
        if (!in_array($max - 1,$links)) {
            echo '<span class="page-numbers dots">…</span>';
        }
        $class = $paged == $max ? ' class="page-numbers current"' : ' class="page-numbers"';
        printf('<a%s href="%s">%s</a>',esc_url(get_pagenum_link($max)),$max);
    }
    // -- Next Post Link
    if (get_next_posts_link()) {
        next_posts_link("Weiter »",0);
    }
 }

这是一个站点示例,例如分页失败(但有时不会):

https://www.gartenbau.org/magazin/kategorie/terrasse

https://www.gartenbau.org/magazin/kategorie/pflasterarbeiten

其他类别页面依此类推。

预先感谢您的任何提示或帮助!

--伊万娜

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)