• На сайте зарегистрирован произвольный тип записи (Custom Post Type): «service» («Услуги»);
    — Для записей типа «service» зарегистрирована произвольная таксономия «our_services» («Наши услуги»);
    — Для Таксономия «our_services» создал несколько произвольных рубрик: SEO , Web_Disain , и т.д.
    — Для вывода информации использую шаблон «page-service.php» внутри которого создал стандартный цикл wordpress

    <?php $service_slider = new WP_Query(array('post_type' => 'service_slider'));?>
    	<?php if ( $service_slider->have_posts() ) : ?>
    	<?php while ( $service_slider->have_posts() ) : $service_slider->the_post(); ?>
    	<div class="carousel-item">
    		<div class="carousel-image"><?php the_post_thumbnail(); ?></div>
    		<h2 class="owl-carousel-title"><?php the_title(); ?></h2>
    		<div class="owl-carousel-text"><?php the_content(); ?></div>
    	</div>
    	<?php endwhile; ?>
    	<?php else: ?>
    		<div class="no-carousel">...</div>
    	<?php endif; ?>
    	<?php wp_reset_query(); ?>

    Однако в таком я могу вывести только все посты разом. В меню я создал пункт меню Услуги и вывел страницу «Услуги» к которой привязан шаблон. Через админку в подменю добавил ссылки на произвольные рубрики SEO и Web_Disain. Но при переходе по ним получаю страницу 404. Сама ссылка имеет вид (site.ru/имя_таксономии/ярлык_рубрики).

    Необходимо сделать так чтобы шаблон созданный в «page-service.php» при переходе по ссылке рубрики (например SEO) выводил стандартный цикл WordPress для созданный для этой страницы, но только с теми постами, для которых было указано что они относятся к данной рубрике.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Юрій

    (@yube)

    — Для вывода информации использую шаблон «page-service.php» внутри которого создал стандартный цикл wordpress

    Зачем?

    Матчасть: https://developer.wordpress.org/themes/basics/template-hierarchy/#custom-taxonomies

    1. Вам необходимо создать файл taxonomy-our_services.php
    2. В этом шаблоне не обязательно создавать new WP_Query()

    
    <?php if ( have_posts() ) : ?>
    	<?php while ( have_posts() ) : the_post(); ?>
    	<div class="carousel-item">
    		<div class="carousel-image"><?php the_post_thumbnail(); ?></div>
    		<h2 class="owl-carousel-title"><?php the_title(); ?></h2>
    		<div class="owl-carousel-text"><?php the_content(); ?></div>
    	</div>
    	<?php endwhile; ?>
    	<?php else: ?>
    		<div class="no-carousel">...</div>
    	<?php endif; ?>
    	<?php wp_reset_query(); ?>
    • Ответ изменён 8 лет, 2 месяца назад пользователем Riskful.

    То-есть чтобы добиться результата — надо цикл Вордпресс (WP_Query) выводить через другой файл??? а именно taxonomy-$taxonomy-$term.php???
    PS: Создал файл c именем taxonomy-our_services.php и закинул содержимое «page-service.php» в него. Однако все равно ошибка 404.

    В целом можно попробовать еще через taxonomy-$taxonomy-$term.php вывести. Однако и в данном случае та же ошибка. И да тут получается что надо создавать для каждой рубрики свой шаблон, хотя в итоге это не совсем то что нужно, так как в идеале пытаюсь сделать так, чтобы пользователь создал свой страницу с существующим циклом Вордпресс по алгоритму:

    Зашел в рубрики произвольных типов записей -> Создал свою рубрику-> Создал свои посты в произвольных типах записей и указал рубрику при создании постов -> Через «Внешний вид-Меню» разместил рубрику в главном меню -> Перейдя по ссылке рубрики через сайт получил слайдер с теми записями, которые отмечены для выбранной рубрики.

    Консоль->настройки->постоянные ссылки->нажми кнопку сохранить, нечего не меняя.
    Должно помочь от 404

    riskful спасибо!!! все работает!

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Вывод рубрик (таксономий) произвольных типов записей (register_post_type).» закрыта для новых ответов.