Wordpress主题上的自定义分页


Custom Pagination on Wordpress Theme

我有一个搜索结果页面的问题,我在搜索页面上看到的分页是一个数字分页,我想只有一个前一个和下一个分页与这样的url是:www.mywebsite.com/page/{pagenumber}/?s=word下面是我的代码,我有问题修复它:

在function。php中有这个

rendering the pagination links
-------------------------------------
function thrive_pagination() {
    global $wp_query;
    $total_pages = $wp_query->max_num_pages;
    if ( $total_pages > 1 ) {
        $current_page = max( 1, get_query_var( 'paged' ) );
        if ( ! is_search() ) {
            echo paginate_links( array(
                'base'    => trim( get_pagenum_link( 1 ), "/" ) . '/%_%',
                'current' => $current_page,
                'total'   => $total_pages,
            ) );
        } else {
            echo paginate_links( array(
                'base'    => get_pagenum_link( 1 ) . '%_%',
                'format'  => ( ( get_option( 'permalink_structure' ) && ! $wp_query->is_search ) || ( is_home() && get_option( 'show_on_front' ) !== 'page' && ! get_option( 'page_on_front' ) ) ) ? '?paged=%#%' : '&paged=%#%',
                // %#% will be replaced with page number
                'current' => $current_page,
                'total'   => $total_pages,
            ) );
        }
    }
}

而在我的搜索页面分页代码是:

<?php $next_page_link = get_next_posts_link();
$prev_page_link = get_previous_posts_link(); ?>
                <ul class="entry-nav">
                <?php if ( $next_page_link || $prev_page_link && ( $next_page_link != "" || $prev_page_link != "" ) ): ?>
                    <?php if ( strpos( $options['blog_layout'], 'masonry' ) === false ): ?>
                        <li class="button next"><?php thrive_pagination(); ?></li>
                        </ul>
                    <?php endif; ?>
                <?php endif; ?>

可以在paginate_links中传递参数

 $args = array(
    'base'               => '%_%',
    'format'             => '?paged=%#%',
    'total'              => 1,
    'current'            => 0,
    'show_all'           => false,
    'end_size'           => 1,
    'mid_size'           => 2,
    'prev_next'          => true,
    'prev_text'          => __('« Previous'),
    'next_text'          => __('Next »'),
    'type'               => 'plain',
    'add_args'           => false,
    'add_fragment'       => '',
    'before_page_number' => '',
    'after_page_number'  => ''
);

这是所有的参数,请阅读每个参数使用的,对于你需要的只是传递'prev_next'为真,添加prev_text和prev_next参数来根据你的需要格式化它们。

echo paginate_links( array(
                'base'    => get_pagenum_link( 1 ) . '%_%',
                'format'  => ( ( get_option( 'permalink_structure' ) && ! $wp_query->is_search ) || ( is_home() && get_option( 'show_on_front' ) !== 'page' && ! get_option( 'page_on_front' ) ) ) ? '?paged=%#%' : '&paged=%#%',
                // %#% will be replaced with page number
                'current' => $current_page,
                'total'   => $total_pages,
                'prev_next'=>true,
                'prev_text'=> __('« Previous'),
                'next_text'=> __('Next »'),
            ) );