我有一个搜索结果页面的问题,我在搜索页面上看到的分页是一个数字分页,我想只有一个前一个和下一个分页与这样的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 »'),
) );