Intereting Posts
Получить последние сообщения из нескольких категорий Пользовательский тип сообщения и пользовательские таксономии Как проверить полноту, когда обновление не выполняется и застряло в режиме обслуживания Как удалить идентификаторы из wp_enqueue_style? Относительные, а не абсолютные ссылки на страницах? Неопределенная функция wp_set_password Магазин WordPress: включение custormers для выбора цвета продукта с помощью эскизов изображений на пользовательских полях не удалось сохранить пользовательские термины таксономии в настраиваемом метабоксе в wp-admin Как избавиться от нижней строки в меню навигации через файл CSS? страница 1 не выгружается Разделите слово из wp_list_categories Как мне добавить ссылки на другие страницы / сообщения из моего сообщения? Host wp-content в другом домене, как CDN как отобразить выдержку последнего сообщения на главной странице? Отображать сообщение администратора только на главной странице панели мониторинга

Paginated HTML Sitemap

Я дошел до того, что мне нужно было разбить мой HTML-файл на несколько страниц. Он содержит 2000 ссылок.

Большая компоновка показывала все заголовки сообщений под названиями категорий на одной странице. Я решил разбить его (разбивать на страницы) в алфавитном порядке с помощью WP_Query, поэтому каждая страница будет содержать около 60 заголовков сообщений (ссылок). Также на каждой странице рядом с заголовками сообщений были показаны соответствующие категории ссылок и еще одна обычная таксономия.

Я сделал это, и думал, что все будет в порядке, Google мудрый и Пользователи мудры. Однако вскоре после этого меня обстреляли электронные письма. Пользователям не понравился новый разбитый / алфавитный вид HTML Sitemap. Они хотели получить быстрый доступ ко всем сообщениям с одной страницы (или, возможно, к меньшему количеству страниц). Я вернулся.

Я не могу сохранить эту большую страницу, но в то же время мне нужно пойти с Пользователями.

Итак, есть ли способ, по которому я могу разделить HTML-Sitemap на страницы, и каждая страница содержит заголовки публикаций (ссылки) из нескольких категорий?

Я могу сделать это, создав несколько шаблонов и жесткий код разбиения на страницы на каждый шаблон (связать их), но это трудный путь.

Я просмотрел несколько циклов, вложенных циклов, пользовательских запросов, WP_Query, много экспериментировал, но, похоже, я не могу добиться того, чего хочу, элегантным и чистым способом.

Solutions Collecting From Web of "Paginated HTML Sitemap"

Не проверял это, но здесь вы идете, lemmie знает, как это работает. Вам понадобятся ваши собственные ссылки на страницы, но это должно быть довольно просто

//pagination $offset = '0'; $no_of_posts = the_posts_per_page( false ); //Number of posts to display on each page if (preg_match( '/page/', $_SERVER['REQUEST_URI'] ) ) { $uri = explode( '/', $_SERVER['REQUEST_URI'] ); foreach ( $uri as $key => $value ) { if ( $value == '' ) { unset( $uri[$key] ); } } $offset = array_pop( $uri ); $sql_offset = ( $offset * $no_of_posts ) - $no_of_posts; } //get categories my_category_build( array(), 0 ); //function function my_category_build( $args, $offset = 0 ) { //set defaults $defaults = array( 'type' => 'post', 'parent' => 0, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'taxonomy' => 'category', 'pad_counts' => 1 ); //parse args $args = wp_parse_args( $args, $defaults ); //do real work $categories = get_categories( $args ); $cat_c = count( $categories ); for( $i=$offset; $i<$offset+2 && $i<$cat_c; $i++ ) { //set current category object $categories[$i] = $cat; //drill down deeper $args['parent'] = $cat->cat_ID; $children = get_categories( $args ); if( count( $children ) > 0 ) { my_category_build( $args ); } //output posts from category $wp_query_args = array( 'posts_per_page' => -1, 'post_status' => 'publish', 'cat' => $cat->cat_ID ); $posts = new WP_Query( $wp_query_args ); foreach( $posts as $p ) { //your output here } } }