• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Вордпресс пагинация не для списка таксономий а для самих таксономий!

Lart

Новичок
Заголовок получился не понятным и вызывает недоумение,но именно так хочется ввести в поисковик,потому что при вводе пагинация для таксономий выводится сплошная пагинация для постов в определенной таксономии.Иногда может не мало категорий для определенных постов или товаров,я лишь опишу как можно вывести категории произвольной или не произвольной записи с картинкой. Я думаю если уж и выводить таксономии на отдельной странице списком,то картинка там нужна,но при желании можете изменить запрос к базе без картинок в интернете есть статьи где описывается как вытащить таксономии без картинки,если будет интересно как без картинок напишите мне,ну собственно говоря с картинкой то и нету,с картинкой описано только как стандартным способом вывести.
Для чего нужна пагинация? Ну самый незамысловатый ответ это для быстродействия страницы.К сожалению таксономии выводятся как виджеты стандартным способом,и там конечно же пагинация вовсе не предусмотрена.
Для начало надо создать свой запрос на вывод таксономий из базы.
Заходим в function.php вашей темы и вставляем вот этот код:
function new_taxonomy($page,$kol) {

global $wpdb;
$start = ($page * $kol) - $kol;


$args = $wpdb->get_results("SELECT * FROM {$wpdb->terms} AS `t1`
INNER JOIN {$wpdb->term_taxonomy} AS `t2` ON t1.term_id=t2.term_id
INNER JOIN {$wpdb->termmeta} AS t3 ON t2.term_taxonomy_id=t3.term_id
INNER JOIN {$wpdb->posts} AS t4 ON t4.ID=t3.meta_value
WHERE t2.taxonomy='project_category' LIMIT $start,$kol");

return $args;

}

Теперь вот такой код вставьте :
function count_tax(){
global $wpdb;
$count = $wpdb->get_row("SELECT COUNT(*) as count FROM {$wpdb->terms} AS `t1`
INNER JOIN {$wpdb->term_taxonomy} AS `t2` ON t1.term_id=t2.term_id
INNER JOIN {$wpdb->termmeta} AS t3 ON t2.term_taxonomy_id=t3.term_id
INNER JOIN {$wpdb->posts} AS t4 ON t4.ID=t3.meta_value
WHERE t2.taxonomy='project_category'");

return $count;
}

Это мы вытащили общее количество записей . На этом мы заканчиваем с файлом function.php
Теперь где вы хотите вывести свои категории пишем такой код ну и конечно стилизуем как вам надо



$num = 15;


$page = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$total = count_tax();

$posts = $total->count;

$total = intval(($posts - 1) / $num) + 1;
$page = intval($page);



$print_tax = new_taxonomy($page,$num);

?>
<div class="row">
<?php foreach($print_tax as $term){ ?>


<div class="flex-4"><div class="project_cat">
<?php echo wp_get_attachment_image($term->meta_value, array(300,300)); ?>
<a href="<?=esc_url(get_term_link((int)$term->term_id, $term->taxonomy));?>" title="Нажмите, чтобы перейти в рубрику"><div class="descrip"><p class="title_category"><?=$term->name?></p></div></a>

</div>
</div>

<?php } ?>
</div>

<?php
$pervpage = '';
$nextpage = '';
$page2left = '';
$page1left = '';
$page2right = '';
$page1right = '';
if ($page != 1) $pervpage = '
<a href='.get_permalink().'?paged='. ($page - 1) .'>Назад</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href='.get_permalink().'?paged='. ($page + 1) .'>Вперед</a>
';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href='.get_permalink().'?paged='. ($page - 2) .'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.get_permalink().'?paged='. ($page - 1) .'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href='.get_permalink().'?paged='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href='.get_permalink().'?paged='. ($page + 1) .'>'. ($page + 1) .'</a>';
if($page1right == '' && $page1left == ''){
$page = '';
}

// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;



Вот и все пагинация готова теперь. И я пишу что вывод с изображением ,но где достать эти изображения вопрос,поэтому я скину ссылку на очень хороший код для вставки в рубрики изображений - https://wp-kama.ru/id_7686/miniatyury-dlya-elemetov-taksonomij.html
 
Сверху Снизу