繁体   English   中英

自定义分页的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'传递为true,然后添加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 »'),
            ) );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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