Wordpress создание файлов шаблонов для пользовательских таксономий - PullRequest
0 голосов
/ 14 сентября 2018

Я создал пользовательский тип записей «Продукты» с использованием плагина CPT, затем я создал три пользовательских таксономии, которые будут использоваться при добавлении новых продуктов, скажем, это «Бренды», «Использование» и «Типы».

То, чего я пытаюсь добиться, - это создать страницу, на которой перечислены все термины внутри пользовательской таксономии, которая, при нажатии, приведет вас на страницу с одним термином, на которой перечислены все продукты, помеченные этим термином. Наконец, нажав на «Продукт», вы попадете на одну страницу продукта.

В основном я хочу это: Главная страница -> Список таксономии -> Отдельный термин -> Продукт

Это все совершенно новое и неизведанное для меня. Я сталкивался с использованием taxonomy.php для создания собственного архива для моих таксономий, но я понятия не имею, как заставить все это работать или как должна выглядеть моя файловая структура. Какие шаблоны я должен использовать и как их подключить. Кроме того, поскольку термины таксономии не являются сообщениями, как я могу создать отдельную страницу для каждого термина в моих таксономиях?

Из того, что я понял, мне нужна страница для моего списка таксономии, затем я могу использовать taxonomy.php для шаблонирования односложных страниц. Я не могу понять шаг, необходимый для связывания термина в списке с файлом шаблона.

Любая помощь будет принята с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 15 сентября 2018

Я обычно создаю собственный шаблон страницы для списков терминов таксономии.Внутри этого шаблона вы можете прочитать условия вашей таксономии:

<?php 
$terms = get_terms( $taxonomy ); 
foreach( $terms as $term ) :
?>
<a href="<?php echo get_term_link( $term, $taxonomy ); ?>">
<?php echo $term->name; ?>
</a>
<?php endforeach; ?>

Затем внутри вашего taxonomy.php вы можете использовать простой цикл для отображения всех продуктов:

<?php while( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile(); ?>

Тогда все, что вам нужно, это single.php для отображения информации о вашем продукте:

<?php if ( have_posts() ) : the_post(); ?>
<!-- Show post details here -->
<?php endif; ?>

Полезный обзор: https://codex.wordpress.org/images/1/18/Template_Hierarchy.png

...