繁体   English   中英

分页在搜索页面 wordpress 中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM