Intereting Posts
Получить несколько префикса db с помощью $ wpdb Принуждение термина / таксономии на всех должностях CPT CPT Group by Date metox Value Как сохранить изменения в пользовательских темах после обновления дочерней темы genesis Практическое руководство. Проверка глобальных переменных в WordPress добавить пользовательское поле в регистрационную форму пользователя не может использовать метод page_test для проверки разбивки на страницы Сообщения в цикле все показывают один и тот же автор, когда есть много авторов Ключ action_post не дает post_meta_data Как добавить пользовательский идентификатор к каждому URL-адресу сообщения в wordpress Добавление текстового редактора в Excerpt Как использовать плагин HyperDB в существующем wpmu расширенные настраиваемые поля update_field для типа поля: таксономия Скрытие содержимого категорий только на «Сообщениях» на главной странице? Расширенные авторские константы

Пользовательская таксономия или пользовательские шаблоны страниц?

Я пытаюсь решить, было бы более целесообразным создать две новые пользовательские таксономии или если бы пользовательские шаблоны страниц были бы проще. Вот сценарий:

  • У меня есть 2 пользовательских типа сообщений: «Рецепты коктейлей» и «Дистилляторы»
  • У меня есть примерно 10 терминов в пользовательской таксономии «Типы алкогольных спиртных напитков», и для этих таксономии используются как пользовательские типы сообщений. Количество этих терминов вряд ли будет расти.
  • Мне нужно 3 архивных страницы для каждого типа Spirit Spirit Type. Один, который отображает результаты как с пользовательскими типами сообщений, так и с результатами, полученными только из рецептов коктейлей, и отображает результаты только от Distilleries (например, Whisky, Whisky Cocktail Recipes и Whisky Distilleries).

Должен ли я: 1. Создать две новые пользовательские таксономии. Можно было бы упомянуть рецепты коктейлей и другие, относящиеся к ликеро-водочным заводам, но оба они были бы идентичны с уже созданной таксономией типов алкогольных спиртов. Затем я мог бы использовать шаблон taxonomy-custom_taxonomy_name.php для создания страниц. Или … 2. Создайте два настраиваемых шаблона страниц (один для спиртных напитков в рецептах коктейлей, а другой для спиртовых спиртных напитков на ликеро-водочных заводах) и две страницы для каждого типа духа (всего 20 страниц).

Для меня вариант 2 имеет больше смысла, потому что тогда я не дублирую термины в трех разных таксономиях. Кроме того, почтовому редактору нужно будет только дважды отмечать запись. Если бы количество терминов было больше, это решение было бы огромной задачей изначально, но создание всего 20 страниц представляется разумным.

Как вы думаете? Есть ли более простой способ, о котором я не думаю?

Solutions Collecting From Web of "Пользовательская таксономия или пользовательские шаблоны страниц?"

Вы можете сделать это более динамично, с простым get var, или вы можете усложниться и создать некоторые правила перезаписи для анализа ваших собственных URL-адресов.

Вот быстрый и простой метод GET var –

Скажем, у вас есть таксономический термин:

example.com/alcohol-spirit-type/gin/ 

Это будет показывать сообщения обоих типов сообщений, связанных с термином таксономии.

Теперь добавьте переменную в конец для каждого из ваших типов сообщений, чтобы создать URL-адреса, которые вы будете фильтровать, например:

 // change these to reflect the actual registered names of your post types example.com/alcohol-spirit-type/gin/?my_filter=cocktail-recipe and example.com/alcohol-spirit-type/gin/?my_filter=distillery 

Теперь добавьте немного кода в файл functions.php темы, чтобы обнаружить эту добавленную переменную и соответствующим образом настроить запрос:

 function wpa54401_filter_pre_get_posts( $query ) { if ( isset( $_GET['my_filter'] ) ) { $query->set( 'post_type', array( $_GET['my_filter'] ) ); } return $query; } add_filter( 'pre_get_posts', 'wpa54401_filter_pre_get_posts' ); 

Теперь посещение каждого из этих URL-адресов должно содержать только сообщения в каждом типе.

РЕДАКТИРОВАТЬ-

Вот фильтр на taxonomy_template чтобы возвращать пользовательские шаблоны для двух новых видов:

 function wpa54401_custom_taxonomy_template( $template ) { if ( isset( $_GET['my_filter'] ) ) { $template = dirname( __FILE__ ) . '/tax-' . $_GET['my_filter'] . '.php'; } return $template; } add_filter( "taxonomy_template", "wpa54401_custom_taxonomy_template" ) ; 

шаблоны следует называть tax-{your post type}.php