【问题标题】:paginate_links() Display current page in query stringpaginate_links() 在查询字符串中显示当前页面
【发布时间】:2018-05-22 00:40:24
【问题描述】:

我的自定义帖子类型循环分页工作正常。但是,我得到的网址是:

"my-site.com/courses/page/3/"

但我想要得到的是:

"my-site.com/courses/page/3/?pag=3"

因此用户可以设置“?pag=2”并重定向到“my-site.com/courses/page/2/?pag=2”。 我已经在索引页面中使用 '?paged=2' 查询实现了这一点,但在这个查询中还没有。

我的代码:

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
//$paged = (get_query_var('page')) ? get_query_var('page') : 1; IN INDEX PAGE

$args = array(
            'post_type'         =>'courses',
            'posts_per_page'    => 6,
            'paged'             => $paged,
            'orderby'           => 'title',                  
            'order'             => 'ASC'
        );
$courses = new Wp_Query($args);
if($courses -> have_posts()):
while($courses -> have_posts()): $courses -> the_post();?>

<!-- HTML loop -->

<?php endwhile; ?>

<div class="pagination">
<?php 
echo paginate_links(array(  'total'     => $courses->max_num_pages, 
                            'base'      => add_query_arg('paged','%#%'),
                            'format'    => '?paged=%#%',
                            'current'   => max(1, get_query_var('paged'))
                            //'current'   => max(1, get_query_var('page')) IN INDEX PAGE
                    ));
?>
</div>                  

<?php 
endif; 
wp_reset_postdata();
?>

谢谢!

【问题讨论】:

    标签: wordpress query-string pagination


    【解决方案1】:

    我使用了这个代码,希望它可以帮助你做一些小的改动。

    global $wp_query,
      $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
    
            $pagination = array(
                'base' => @add_query_arg('page','%#%'),
                'format' => '',
                'total' => $wp_query->max_num_pages,
                'current' => $current,
                'show_all' => true,
                'type' => 'list',
                'next_text' => '&raquo;',
                'prev_text' => '&laquo;'
                );
    

    【讨论】:

    • 谢谢。我修改了'base' => @add_query_arg('paged','%#%'),链接工作,但是url仍然没有显示参数
    • 在这种情况下,'base' 将是 '%_%'(默认值)?关键是,无论如何,页面链接href总是有查询变量,比如href="my-site.com/courses/page/2/?paged=2",但是Wordpress在访问页面时会删除该查询变量
    猜你喜欢
    • 2010-12-03
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多