问题描述
六个月前我也在这里问过问题: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 (将#修改为@)