Изображение выше отображает «дополнительную» информацию, от которой я пытаюсь избавиться, обведенную красным, с результатами функции paginate _links (). Мне бы хотелось, чтобы номер текущей страницы отображался только с двумя по обе стороны от предыдущей и следующей кнопок. Я хотел бы удалить показ последней ссылки и ссылок на первую страницу, а также многоточие перед ними. Мой Текущий код, делающий вывод ниже.
global $wp_query;
if ($total_pages > 1) {
$current_page = max(1, get_query_var('paged'));
$links = paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $wp_query->max_num_pages,
'prev_text' => '<',
'next_text' => '>',
'mid_size' => 2,
'type' => 'array'
));
foreach($links as $link){
}
echo $links;
}
Любая помощь будет очень признательна, я полностью проанализировал документацию по этой функции и не могу понять это.
На случай, если кто-нибудь придет сюда и посмотрит на это позже, вот как я это решил. Вероятно, не лучший способ сделать это, но он достигает желаемого результата.
Я спрятал точки через CSS, а затем, чтобы избавиться от ссылок на первую и последнюю страницы, которые я назвал unset, где я знал, что они будут всегда, только когда это нужно было удалить.
global $wp_query;
if ($wp_query->max_num_pages > 1) {
$current_page = max(1, get_query_var('paged'));
$links = paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $wp_query->max_num_pages,
'prev_text' => '<',
'next_text' => '>',
'mid_size' => 2,
'type' => 'array'
));
if($current_page > 3){
unset($links[1]);
}
if($current_page <= $wp_query->max_num_pages - 3){
unset($links[count($links) - 1]);
}
foreach ($links as $link) {
echo $link;
}
}
Других решений пока нет …