[英]pagination doesn't work in search page wordpress
晕,伙计们,我的分页无法在搜索页面下工作。 我制作了自定义搜索页面,链接将是这样的
/search/?category=2&tag=all
当我点击下一个链接时。 链接变成这个
/search/page/2/?category=2&tag=all
但帖子没有改变。 当我 var_dump get_query_var('paged');
它总是返回 0。我该如何解决这个问题。
这是我在显示帖子中的代码
<?php
$CurrentPage = get_query_var('paged');
$args = [
'posts_per_page' => 2,
'paged' => $CurrentPage,
'cat' => $search_category,
'tag' => $search_tag,
];
$loop = new WP_Query($args);
if ($loop->have_posts()) :
while ($loop->have_posts()) : $loop->the_post();
$image = get_field('thumbnail');
?>
这是用于显示分页
<?php previous_posts_link('<img src="'.get_template_directory_uri().'/static/images/column/arrow01.svg" alt="prev">PREV', $loop->max_num_pages) ?>
<?php list_pagination($loop); ?>
<?php next_posts_link('NEXT<img src="'.get_template_directory_uri().'/static/images/column/arrow02.svg" alt="next">', $loop->max_num_pages); ?>
这是我在functions.php中的代码
function list_pagination($loop) {
$big = 999999999;
$paged = paginate_links(array(
'base' => str_replace($big, '%#%', get_pagenum_link($big)),
'format' => '?paged=%#%',
'current' => max(1, get_query_var('paged')),
'prev_next' => false,
'type' => 'array',
'add_fragment' => '',
'before_page_number' => '',
'after_page_number' => '',
'total' => $loop->max_num_pages
));
if ( ! empty( $paged ) ) :
echo '<ul class="pager_list">';
$no = 1;
foreach ( $paged as $key => $page_link ) :
echo '<li class="pager_item">'.$page_link .'</li>';
endforeach;
echo '</ul>';
endif;
}
我的代码有问题吗?
$CurrentPage = get_query_var('paged');
应该改为$CurrentPage = get_query_var('page');
即分页末尾没有 d。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.