Отображение сетки терминов таксономии на странице корневой таксономии


Я уже много лет использую WordPress в качестве администратора контента, но я новичок в разработке PHP (меня устраивает HTML/CSS). Погуглив и поэкспериментировав, я пришел к выводу, что то, чего я хочу достичь, не является стандартной функциональностью WordPress, но это настолько распространено на сайтах, что я удивлен, что еще не нашел решения.

У меня есть пользовательский тип записи "рецепты’ и пользовательская таксономия "recipe_type". Я могу видеть список сообщений в /таксономия/термин/, но /таксономия/страница производит 404. Я использую плагин Pods для создания этих (и всех настраиваемых полей), но не создается ничего, что не является основным WP, т. Е. Никаких специфичных для pods материалов.

Я хотел бы иметь страницу в /таксономия/, на которой перечислены термины таксономии, например "веганский", "вегетарианский" и т.д. Затем пользователь может перейти по этим ссылкам на страницы терминов.

Я рассматриваю это как знакомую настройку на сайтах электронной коммерции, где у вас будет /продукты/в качестве целевой страницы, а затем /продукты/тип продукта/ в качестве списки товаров, например /товары/камеры/ или /товары/телевизоры/.

Я попытался настроить это, имея taxonomy-recipe_type.php шаблон и archive-recipes.php шаблон одновременно. В архиве перечислены термины в таблице, а в шаблоне таксономии правильно перечислены записи. Однако я столкнулся с несколькими проблемами:

  1. Проблемы с постоянными ссылками - архив отображается в /рецепты/, но страницы таксономии отображаются в /тип рецепта/.
  2. Включение перезаписи исправляет это, но тогда сообщения не появляются (404).
  3. Это не очень СУХОЙ подход - мне приходится использовать два шаблона только для того, чтобы получить эту настройку, и я хотел бы повторить эту настройку для других CPT и таксономий.

Это кажется очень распространенной вещью для настройки, но мне просто не везет. Как я могу создать шаблон таксономии, который проверяет, находится ли пользователь в данный момент на странице корневой таксономии (т. Е. example.com/taxonomy /), а затем отобразите список терминов. В противном случае, если они находятся на странице терминов (т. е. example.com/taxonomy/term /) отобразить список сообщений?

Заранее спасибо!

Author: Curious Toad, 2019-01-30

1 answers

После еще нескольких исследований я отказался от попыток использовать шаблон таксономии и выбрал плагин для изменения постоянных ссылок. Я последовал некоторым советам из этого аналогичного вопроса: Архив таксономии с тем же слагом, что и пользовательский тип записи?

В настоящее время я использую измененный шаблон архива для пользовательских типов сообщений, а затем плагин WP Better Permalinks, чтобы переписать постоянные ссылки так, как они мне нужны, т. Е. example.com/custom-post-type/custom-taxonomy/post-name /

Если вам нужно простое решение, этот плагин работает очень хорошо, насколько я могу судить. Я также использовал Пользовательские постоянные ссылки типа публикации , что обеспечивает больший уровень контроля (это работает так же, как настройки постоянных ссылок WordPress по умолчанию, в том смысле, что вы можете расположить теги постоянных ссылок любым удобным для вас способом). Единственная причина, по которой я отказался от этого плагина, заключается в том, что он отказался работать с одним из моих пяти CPT, хотя все была настроена так же.

Надеюсь, это поможет кому-то еще в будущем.

 0
Author: Curious Toad, 2019-02-17 01:56:32