Intereting Posts
Показывать только одно название категории за сообщение Поле поиска пользовательского окна панели управления Пользовательский контент и безопасность paginate_links () Изменить порядок ссылок Задача полевого поля Страницы становятся «архивами» вместо использования шаблона страницы Настройте «Регистрация завершена. Пожалуйста, проверьте свой адрес электронной почты. "На WP 4.0 Изменить URL-адрес сайта без разрыва ссылок или изображений? WP 3.3 Пользовательский тип сообщения и проблема с permalink Запрос отношения wordpress ajax Могу ли я создавать такие постоянные ссылки: /% post_type% /% postname% / Как заставить пользователей buddypress заполнить профиль после регистрации? Как избавиться от темы Ellipsis on Woocommerce Шаблон страницы для сайта из сети Как реализовать настраиваемое поле пароля, которое перенаправляется на другую страницу при правильном пароле?

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?