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

时间:2020-02-06 04:54:04

标签: php 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;

}

我的代码有误吗?

1 个答案:

答案 0 :(得分:0)

$CurrentPage = get_query_var('paged');应更改为$CurrentPage = get_query_var('page');,即在页面末尾不带d。

相关问题