Управление выводом дополнительных элементов из paginate_links () в WordPreess

Пробелы в красном - это область, от которой мне нужно избавиться.

Изображение выше отображает «дополнительную» информацию, от которой я пытаюсь избавиться, обведенную красным, с результатами функции 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;
}

Любая помощь будет очень признательна, я полностью проанализировал документацию по этой функции и не могу понять это.

0

Решение

На случай, если кто-нибудь придет сюда и посмотрит на это позже, вот как я это решил. Вероятно, не лучший способ сделать это, но он достигает желаемого результата.

Я спрятал точки через 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;
}

}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]