Intereting Posts
Какой самый безопасный способ вывода пользовательского кода JavaScript и Css, введенного администратором в настройках темы? Как разместить номера страниц со следующим / предыдущим в списке сообщений / категорий? wp_ajax не вызывает действие Некоторые сомнения в том, как основной запрос и пользовательский запрос работают в этой настраиваемой теме? Тематический перевод не применяется Отображение полного текста вместо заголовка сообщения Настроить электронную почту, отправленную по заказу Множественное количество с опциями Подтверждение регистрации пользователя Buddypress не работает с запросом пользовательского выбора Как показать ссылку на следующие сообщения в single.php Все липкие сообщения возвращаются в пользовательском запросе Как создать массив, содержащий все дочерние пулы определенной родительской категории Каждый раз, когда я сохраняю свои параметры плагина, он удаляет другие параметры плагина Создание хранимой процедуры при активации плагина WP_Query с возвратом AJAX пустого массива

Использование разбиения на страницы для пользовательского типа сообщений и возвращает возвращаемое значение 404

Я могу вернуть правильные номера страниц (1 сообщение на странице), но страницы с разметкой продолжают возвращать страницу 404. Вот функция, которую я вызываю для разбивки на страницы:

//Pagination for Custom Taxonomy Terms function custom_page_navi( $totalpages, $page, $end_size, $mid_size ) { $bignum = 999999999; if ( $totalpages <= 1 || $page > $totalpages ) return; //NOTE: https://codex.wordpress.org/Function_Reference/paginate_links return paginate_links( array( 'total' => $totalpages, 'prev_next' => false, 'type' => 'list', 'show_all' => false, 'end_size' => $end_size, 'mid_size' => $mid_size ) ); } 

Вот код, который я использую для моего файла taxonomy-page-name.php:

  <?php $this_page_taxonomy = $wp_query->get_queried_object(); //getting this page terms $current_slug = $this_page_taxonomy->slug; //current slug $time = current_time('timestamp'); //current time $go_cpt = 'name'; //taxonony name $number = 1; // number of terms to display per page // Setup for pagination: $page = (get_query_var('paged')) ? get_query_var('paged') : 1; $offset = ($page > 0) ? $number * ($page - 1) : 1; $totalposts = $this_page_taxonomy->count; $totalpages = ceil($totalposts / $number); $go_args = array( 'post_type' => $go_cpt, 'orderby' => 'meta_value', 'meta_key' => 'go_series_date', 'meta_value' => $time, 'meta_compare' => '>=', 'order' => 'ASC', 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(), 'posts_per_page' => $number, 'fields' => 'all', 'slug' => '', 'parent' => '', 'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', 'pad_counts' => false, 'offset' => $offset, 'search' => '', 'cache_domain' => 'core', 'tax_query' => array( array( 'taxonomy' => 'go_series', 'field' => 'slug', 'terms' => $current_slug ) ) ); $go_recent_posts = new WP_Query($go_args); if ($go_recent_posts->have_posts()): while ($go_recent_posts->have_posts()): $go_recent_posts->the_post(); printf('<nav class="recent-series__pagination">%s</nav>', custom_page_navi($totalpages, $page, 3, 0)); endwhile; endif; ?> 

Это потенциально проблема перезаписи? Не уверен, что здесь происходит … Спасибо!

Solutions Collecting From Web of "Использование разбиения на страницы для пользовательского типа сообщений и возвращает возвращаемое значение 404"

Прежде всего, вы выбрасываете запрос по умолчанию для страницы (после того, как он попадает в БД и настраивает глобальные переменные) с помощью настраиваемого запроса. Отображение страницы ссылается на запрос по умолчанию для шаблона, который определен в разделе «Настройки»> «Чтение», плюс вы дважды нажимаете на БД для одной и той же вещи, что является ужасно неэффективным.

Если вы хотите изменить параметры основного запроса для шаблона, вы должны подключиться к pre_get_posts и изменить запрос по умолчанию до его отправки в БД, например:

 add_action('pre_get_posts', 'wpse276456_custom_tax_query'); function wpse276456_custom_tax_query($query) { if(is_tax('page-name') { $query->set('posts_per_page', 1); // Add more calls to $query->set as necessary } }