Поддержка Проблемы и решения Навигация по Custom Post Type не срабатывает

  • Решено Alex Z

    (@alexzhimuk)


    Всем привет!

    Обычно справлялся всегда, но сегодня что-то не то, не могу понять что делаю не то.
    CPT (product) сделал с помощью CPT UI.
    Таксономию (product_types) тоже.
    Создал записи, назначил таксономии.

    В меню создал ссылку на тип plastic_things (/product_types/plastic_things/)

    Создал даже на каждый вариант значения таксономии шаблон
    taxonomy-product_types-plastic_things
    taxonomy-product_types-gorshki

    Вывожу так

    $paged = get_query_var('paged') ? get_query_var('paged') : 1;
    		$args = array( 
    			'paged' => $paged,
    			'post_type' => 'product',
    		 	'posts_per_page' => 6,
    		 	'product_types' => 'plastic_things'
    		 );
    		query_posts($args);
    		
    		while( have_posts() ): the_post();
    

    CPT выводятся, навигация тоже, но при переходе на вторую страницу — улетаю на шаблон 404. Что я делаю не так?

    • Тема изменена 1 год, 3 месяца назад пользователем Alex Z.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Юрий

    (@yube)

    Что я делаю не так?

    Используете query_posts(). Нет смысла перебивать выборку, сделанную движком, если записи выводятся там, где и положено.

    А что касается пагинации, то она ничего не знает о кастомной выборке внутри шаблона. В частности, о posts_per_page=6, и использует значение из настроек. Это может быть причиной 404.

    Автор Alex Z

    (@alexzhimuk)

    У меня почему-то не выводилось обычным LOOPом ничего, видимо пока до шаблонов верных дошёл….
    query_posts() вышвырнул.
    В настройках поменял общее количество постов по навигации для тестирования постранички — всё в итоге за-ра-бо-та-ло.
    Ничего не понял.
    В итоге сейчас обычный LOOP, в шаблонах типа taxonomy-product_types-plastic_things — и WP всё обрабатывает.

    Спасибо Юрий. Вы как всегда мастерски выручаете.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Навигация по Custom Post Type не срабатывает» закрыта для новых ответов.