Intereting Posts
Как складывать список имен в алфавитном порядке? Как переместить логотип в теме «Двадцать семнадцать» Далее в строке меню Почему в администраторе нет моей зарегистрированной боковой панели? Крючки с автоматической загрузкой внутри должны использовать плагин WordPress, oEmbed и видео YouTube с тире, Есть ли способ получить URL-адрес файла из поля ACF отношения? Пользовательский таксономический JavaScript-код Удалить стиль WordPress по умолчанию из метабоксов на страницах редактирования сообщений? Временная разбивка на страницы не работает должным образом Пустые RSS-каналы Удалить пользовательский пул сообщений из URL-адреса Как отображать данные из настраиваемых полей, которые я создал? update_user_meta добавляет новые строки в db для одного и того же ключа Отобразить количество регистраций исключить пользовательский тип сообщения из функции

404 не найдена ошибка в разбивке на страницы

Обычный пост (не пользовательский тип сообщения), я сделал все, что должен, но 404 не нашел ошибки в разбивке на страницы. Вот мой код

$category_id = get_query_var('cat'); //Using this to get category ID to meet some special requirements $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'posts_per_page' => 4, 'numberposts' => 50, 'paged' => $paged, 'cat' => $category_id ); query_posts($args); if ( have_posts() ) : while ( have_posts() ) : the_post(); $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <div id="post-item"> <div class="thumb"><img src="<?php echo get_stylesheet_directory_uri(); ?>/timthumb.php?src=<?php echo $image[0]; ?>&w=224&h=224&zc=1" /></div> <div class="detail"> <h2 class="wrtitle"><span class="blue"><?php $category = get_the_category(); echo $category[0]->cat_name; ?> : </span><?php the_title(); ?></h2> <div class="date"><?php the_date(); ?></div> <div class="excerpt"><?php the_excerpt(); ?></div> </div> <div class="rmore"><a href="<?php the_permalink(); ?>"><img src="<?php echo get_stylesheet_directory_uri(); ?>/images/readmore.png" /></a></div> </div> <?php endwhile; wp_reset_postdata(); else: ?> <p><?php _e('No posts found'); ?></p> <?php endif; ?> <!-- Pagination Part --> <div id="pagination"> <div class="next"><?php next_posts_link('next &raquo;') ?></div> <div class="prev"><?php previous_posts_link('&laquo; previous') ?></div> </div> 

Мне нужно ваше предложение.

Solutions Collecting From Web of "404 не найдена ошибка в разбивке на страницы"

Поместите свой код в файл шаблона category.php .

Удалите всю деталь перед циклом: один раз в категории шаблон, вам не нужно получить категорию, получить paged, запустить снова запрос с query_posts

Поэтому ваш category.php должен выглядеть так:

 if ( have_posts() ) : while ( have_posts() ) : the_post(); $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> ... post markup here <?php endwhile; else: ?> <p><?php _e('No posts found'); ?></p> <?php endif; ?> <!-- Pagination Part --> <div id="pagination"> <div class="next"><?php next_posts_link('next &raquo;') ?></div> <div class="prev"><?php previous_posts_link('&laquo; previous') ?></div> </div> 

Чтобы заставить этот шаблон показывать только 4 fosts на страницу, в functions.php используйте:

 add_action('pre_get_posts','four_post_per_cat'); function four_post_per_cat( $query ) { if ( ! is_admin() && is_main_query() && is_category() ) { $query->set('posts_per_page', 4); } } 

После этого numberposts и posts_per_page являются синонимами, но numberposts устарели. Установка разных значений для них приводит к numberposts что numberposts ничего не делают (или posts_per_page ничего не делать, я не могу вспомнить … однако, используйте один из них).

Если ваш объем ограничивает общее количество достигнутых сообщений (на всех страницах), используйте фильтр post_limit , в functions.php добавьте также:

 add_filter( 'post_limits', 'cat_post_limits' ); function cat_post_limits( limit ) { return ( is_category() ) ? 'LIMIT 0, 50' : $limit; } 

Следуя моим советам, вы также не решите свою проблему, но также улучшите производительность: потому что query_posts очень плох в отношении производительности: никогда не используйте его.


Примечание : если вы добавили какое-либо правило перезаписи, убедитесь, что вы сбросили правила. В панели инструментов перейдите в « Настройки» -> «Постоянная ссылка» и нажмите «Сохранить изменения».


PS: Если вы получаете максимум 50 сообщений, 50 не делится на 4, поэтому последняя страница будет иметь 2 сообщения. Почему бы не установить лимит на 52 или 48?