根据您的问题,您需要采取两个主要步骤:
Step 1: 而不是1, 2, 3, 4...Last Number
你需要1, 2, 3...19, 20, Last Number
Step 2: 您需要添加0
数字小于时分页编号中的前缀10
, 即:01, 02, 03...19, 20, Last Number
这绝对可以使用paginate_links()
作用
步骤1的解决方案:
要确保从两端显示3个页码,需要使用以下属性:
\'end_size\' => 3
最终代码:
首先,将以下函数放置在
functions.php
文件:
/* Filter function to be used with number_format_i18n filter hook */
if( ! function_exists( \'wpse255124_zero_prefix\' ) ) :
function wpse255124_zero_prefix( $format ) {
$number = intval( $format );
if( intval( $number / 10 ) > 0 ) {
return $format;
}
return \'0\' . $format;
}
endif;
然后,使用以下代码,而不是您在问题中提供的代码:
$format = $GLOBALS[\'wp_rewrite\']->using_index_permalinks() && ! strpos( $pagenum_link,
\'index.php\' ) ? \'index.php/\' : \'\';
$format .= $GLOBALS[\'wp_rewrite\']->using_permalinks() ? user_trailingslashit( \'page/%#%\',
\'paged\' ) : \'?paged=%#%\';
add_filter( \'number_format_i18n\', \'wpse255124_zero_prefix\' );
/*Set up paginated links.*/
$links = paginate_links( array(
\'base\' => $pagenum_link,
\'format\' => $format,
\'total\' => $wp_query->max_num_pages,
\'current\' => $paged,
\'mid_size\' => 1,
\'end_size\' => 3,
\'after_page_number\' => \'.\',
\'add_args\' => array_map( \'urlencode\', $query_args ),
\'prev_text\' => \'\',
\'next_text\' => \'\',
\'type\' => \'list\'
) );
remove_filter( \'number_format_i18n\', \'wpse255124_zero_prefix\' );
现在您应该获得预期的分页。