【问题标题】:pagination doesn't work in search page wordpress分页在搜索页面 wordpress 中不起作用
【发布时间】:2020-02-06 14:34:11
【问题描述】:

晕各位,我的分页不能在搜索页面下工作。我做了自定义搜索页面,链接会是这样的

/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;

}

我的代码有什么问题吗?

【问题讨论】:

  • 有人能解决这个问题吗?

标签: php wordpress


【解决方案1】:

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

【讨论】:

  • 感谢您的回答。但问题还是一样。它不会改变帖子
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 2012-10-29
  • 2023-03-10
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多