[英]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.