php Wordpress Bootstrap 4.1分页(使用自定义WP_Query()和全局$ wp_query支持)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Wordpress Bootstrap 4.1分页(使用自定义WP_Query()和全局$ wp_query支持)相关的知识,希望对你有一定的参考价值。
<?php
/**
* @param WP_Query|null $wp_query
* @param bool $echo
*
* @return string
* Accepts a WP_Query instance to build pagination (for custom wp_query()),
* or nothing to use the current global $wp_query (eg: taxonomy term page)
* - Tested on WP 4.9.5
* - Tested with Bootstrap 4.1
* - Tested on Sage 9
*
* USAGE:
* <?php echo bootstrap_pagination(); ?> //uses global $wp_query
* or with custom WP_Query():
* <?php
* $query = new \WP_Query($args);
* ... while(have_posts()), $query->posts stuff ...
* echo bootstrap_pagination($query);
* ?>
*/
function bootstrap_pagination( \WP_Query $wp_query = null, $echo = true ) {
if ( null === $wp_query ) {
global $wp_query;
}
$pages = paginate_links( [
'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var( 'paged' ) ),
'total' => $wp_query->max_num_pages,
'type' => 'array',
'show_all' => false,
'end_size' => 3,
'mid_size' => 1,
'prev_next' => true,
'prev_text' => __( '« Prev' ),
'next_text' => __( 'Next »' ),
'add_args' => false,
'add_fragment' => ''
]
);
if ( is_array( $pages ) ) {
//$paged = ( get_query_var( 'paged' ) == 0 ) ? 1 : get_query_var( 'paged' );
$pagination = '<div class="pagination"><ul class="pagination">';
foreach ( $pages as $page ) {
$pagination .= '<li class="page-item"> ' . str_replace( 'page-numbers', 'page-link', $page ) . '</li>';
}
$pagination .= '</ul></div>';
if ( $echo ) {
echo $pagination;
} else {
return $pagination;
}
}
return null;
}
以上是关于php Wordpress Bootstrap 4.1分页(使用自定义WP_Query()和全局$ wp_query支持)的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress 插件 HTML Bootstrap + PHP
php BSS到WordPress - 自动发布Bootstrap Studio导出到WordPress
使用functions.php将Bootstrap排队到Wordpress
php Incluir Bootstrap en WordPress
php WordPress的Bootstrap分页
php WordPress的Bootstrap分页