Шаблон для произвольной таксономии с отображением родительских терминов и пагинацией
Подскажите где почитать.
Есть иерархическая таксономия
CHARACTERS:
- Столоны
пост 1
пост 2 - Шварценеггер
пост 1
пост 2 - Джоли
пост 1
пост 2
Как вывести страницу по URL
https://site.com/characters/
где отобразятся только Столоны, Шварценеггер и Джоли?
1 первое конечно создал
taxonomy-characters.php
2 сейчас юзаю
$terms = get_terms( [ 'taxonomy' => 'characters', 'hide_empty' => false, ] ); $page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1; // имя страницы пагинации $numOfItems = 12; // количество постов на странице $to = $page * $numOfItems; // посты до ($page) -это номер текущей умножена на ($numOfItems)-количество постов на странице $current = $to - $numOfItems; // посты от $total = sizeof($terms ); // всего $i = 0; // собираем их и выводим for ( $i=$current; $i<$to; $i++) { $category = $terms[$i]; echo $category->name ; echo "<br>"; } ?> <div class="post-nav"> <div class="navigation"> <?php unset($category); echo $output = paginate_links( array( 'base' => add_query_arg( 'cpage', '%#%' ), 'format' => '', 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => ceil($total / $numOfItems), 'current' => $page )); ?> </div> </div> <?php
или так для альтернативной url пагинации
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $numOfItems = 16; // количество постов на странице $to = $paged * $numOfItems; // посты до ($page) -это номер текущей умножена на ($numOfItems)-количество постов на странице $current = $to - $numOfItems; // посты от $total = sizeof($terms ); // всего // собираем их и выводим for ( $i=$current; $i<$to; $i++) { $category = $terms[$i]; echo $category->name ; echo "<br>"; } ?> <div class="post-nav"> <div class="navigation"> <?php unset($category); global $wp_query; echo $output = paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => ceil($total / $numOfItems), 'current' => $page )); ?> </div> </div> <?php
может есть что-то по элегантнее ??
Если речь о рубриках и метках..