Бывает такое, что на у вас на сайте очень много категорий, к примеру, их 1500 штук. Выводить их все сразу на одной странице не целесообразно. Поэтому лучше разбить страницу на несколько частей и добавить постраничную навигацию. Расскажу как это сделать.
Код вставляется в отдельный шаблон. Т.е, создаете новый файл в папке с темой, напр. categoty-page.php, в него вставляете код category.php и сверху добавляете код для инициализации темы:
<?php /* Template Name: categoty-page.php */ ?>
Затем создаете в админке новую статическую страницу, пустую, и выбираете шаблон для нее categoty-page.php в выпадающем списке. Вместо стандартного цикла вывода, вставим следующий код, который разбивает список категорий на страницы.
Вывод категорий с постраничной навигацией:
<?php $args = array( 'taxonomy' => 'category', 'orderby' => 'title', 'order'=>'ASC', 'pad_counts'=>'true', 'hide_empty' => 1, 'show_count'=>1, 'hierarchical' => 0, 'parent' => '0', ); /* Постраничная навигация вверху */ $categories = get_categories($args); $numOfItems = 200; $page = isset( $_GET['next'] ) ? abs( (int) $_GET['next'] ) : 1; $to = $page * $numOfItems; $current = $to - $numOfItems; $total = sizeof($categories); unset($category); echo paginate_links( array( 'base' => add_query_arg( 'next', '%#%' ), 'format' => '', 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => ceil($total / $numOfItems), 'current' => $page )); echo '<ul>'; for ($i=$current; $i<$to; ++$i) { $category = $categories[$i]; if ($category->name) { echo '<li><a rel="nofollow" href="' . get_term_link($category->slug, 'category') . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></li>';} } echo '</ul>';