Intereting Posts
Игнорирует post_type, когда нет результатов Доступный URL-адрес изображения на основе идентификатора носителя? Как использовать force_feed с fetch_feed Смешивание строки l18n из моего плагина с переводами WordPress WP Multisite с поддержкой Mamp Pro и поддоменов подстановочных знаков, на самом деле не работает для меня Подключиться к другой установке WP и захватить почту на основе настраиваемого поля Как отфильтровать iframe из фида Можно ли добавлять сообщения и изображения (авторазмер) для пользовательских типов сообщений со сценарием? Отключение «Просмотр» упоминается из бэкэнд? Readme.txt не обновляется Получить комментарии для нескольких сообщений Отображение сообщений в текущей категории – с использованием древесины Автоматизировать импорт продукта с помощью WooCommerce? Как определить (через php), если сайт использует статическую домашнюю страницу? Просмотр сообщения при редактировании

/ tag / tag_name / page / 2 дает ошибку 404

Я создал свой собственный шаблон для списка записей для определенного тега ( tag.php ), он tag.php 10 записей и с помощью ссылки «Предыдущий и следующий».

 <?php $paged = get_query_var('paged') ? get_query_var('paged') : 1; $args = array( 'post_type' => 'custom_post', 'posts_per_page' => '10', 'tag' => "$some_tag", 'paged' => "$paged", 'post_status' => 'publish', 'orderby' => 'date', 'order' => 'ASC' ); $loop = new WP_Query($args); while($loop->have_posts()): $loop->the_post(); // displaying items here endwhile; <nav id="page-nav"> <?php previous_posts_link('≪ Previous', $loop->max_num_pages); ?> <?php next_posts_link('More ≫', $loop->max_num_pages); ?> </nav> <?php endif; ?> ?> 

Он создает ссылку More с /tag/ta_name/page/2 но когда я нажимаю на нее, она показывает 404.

Я проверил другие блоги, архивы тегов архивирования действительно заканчиваются на /page/N поэтому я думаю, что с моим URL-адресом нет проблем.

Где я допустил ошибку или какие-то мои настройки ошибочны?

Текущий номер страницы задается основным запросом, а не встроенным подзапросом. Кроме того, вы действительно не должны создавать второй запрос, вместо этого pre_get_posts основной запрос с помощью фильтра на pre_get_posts .

 add_filter( 'pre_get_posts', 'add_custom_type_to_tag_archive' ); function add_custom_type_to_tag_archive( $query ) { if ( ! is_main_query() or ! is_tag() ) return $query; $query->set( 'post_type', array ( 'custom_type', 'post' ) ); $query->set( 'posts_per_page', 10 ); return $query; } 

Объяснение:

Когда WordPress загружает ваш tag.php он уже запросил базу данных для тегов. Он уже знает, что это за тег, какой тип сообщения и сколько результатов есть в общей сложности и для текущей страницы.
Это слишком поздно, чтобы изменить разбивку на страницы. И вы не должны тратить этот запрос, потому что это требует времени.

Поэтому не пытайтесь перезаписать основной запрос позже, вместо этого измените основной запрос, чтобы получить более быстрые и надежные результаты.