Intereting Posts
Прикрепление изображения к пользовательским конечным точкам Fresh Multisite Install – не могу войти Слайдер слайдов с ограниченным количеством элементов на слайд Перечислите суб-таксономии из текущей таксономии Почему поиск WordPress возвращает одинаковое количество результатов для каждого поискового запроса? Добавьте «Последнее изменение» и вложения (Да / Нет) в колонку пользователей WordPress Настройка содержимого TinyMCE в wp_editor Как добавить функциональность WordPress, которую необходимо установить, чтобы быть обязательной при установке тем Ошибка анализа: синтаксическая ошибка Будет ли post_exists работать для проектов сообщений? Что я могу сделать для достижения этого эффекта: WIP -> Портфолио Должны ли мои определения быть уникальными? Обновление метаданных с помощью AJAX Добавьте динамический динамик через Javascript Секция коротких профилей get_user_meta

Как ограничить разбивку страниц … снова

Я выкапываю старый вопрос, так как не было решения. Как ограничить разбивку страниц

Я ищу способ ограничить страницы на главной странице и категориях (archive.php). У меня около 200 тыс. Сообщений, которые распространяются примерно на 50 категорий. Если я оставлю разбивку по умолчанию, на главной странице есть 20k страниц. Тогда большинство категорий имеют более 5 тыс. Страниц. Это отправит google в несколько длинных циклов … и каждый раз, когда будет добавлена ​​почта (200 / день), Google начнет снова и т. Д. … когда все, что я хочу, это google, чтобы просмотреть последние сообщения (это новостной сайт)

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

Есть ли хороший способ сделать это?

Я пробовал разные вещи, описанные здесь, без успеха. Ограничить количество страниц в разбивке на страницы

// this didn't work (beyond page 10 "next page" take us back to page 1) function wpcodex_filter_main_search_post_limits( $limit, $query ) { return 'LIMIT 0, 100'; } add_filter( 'post_limits', 'wpcodex_filter_main_search_post_limits', 10, 2 ); 

Удаление ссылок на страницы на стр. 10 будет работать для меня, даже если вы можете вручную ввести страницу 11 и посмотреть страницы 11 сообщений … все, что я хочу, это google, чтобы не найти ссылку.

Удаление старых сообщений не является опцией или не выполняется двойной запрос.

Спасибо за вашу помощь

Мне повезло, тема использовала ее собственную функцию, поэтому ее легко переопределить. Вдохновленный родной get_the_posts_navigation от worpdress (wp-includes / link-template.php), вот что я в конечном итоге использую:

 function my_get_the_posts_navigation( $args = array() ) { $limit = 5; $navigation = ''; // Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( 'prev_text' => __( 'Older posts' ), 'next_text' => __( 'Newer posts' ), 'screen_reader_text' => __( 'Posts navigation' ), ) ); $next_link = get_previous_posts_link( $args['next_text'] ); $p = (get_query_var('paged')) ? get_query_var('paged') : 1; if ($p < $limit) { $prev_link = get_next_posts_link( $args['prev_text'] ); } else { $prev_link = false; } if ( $prev_link ) { $navigation .= '<div class="nav-previous">' . $prev_link . '</div>'; } if ( $next_link ) { $navigation .= '<div class="nav-next">' . $next_link . '</div>'; } $navigation = _navigation_markup( $navigation, 'posts-navigation', $args['screen_reader_text'] ); } return $navigation; } function my_the_posts_navigation( $args = array() ) { echo my_get_the_posts_navigation( $args ); } // now override the theme pagination function if ( ! function_exists( 'cactus_paging_nav' ) ) : function cactus_paging_nav() { my_the_posts_navigation(); } endif;