Меню WordPress с пользовательской таксономией

Я ищу масштабируемый, лучший способ сделать следующее:

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

Home About Artist 1 Archive About Artist 1 Custom Taxonomy Artist 2 Archive About Artist 2 Custom Taxonomy 

И так далее для всех других художников.

В настоящее время я использую встроенные в WordPress архивы для пользовательских типов сообщений, поэтому они не отображаются в моем меню, но я не против использования только обычного URL (например, / artist-1 /) , У меня возникают трудности с тем, как создавать архивы для пользовательской таксономии. Есть ли способ настроить шаблон страницы и как-нибудь использовать get_query_var() для получения типа сообщения? Или есть более естественный способ сделать это?

Наконец, мне также нужно перенаправить URL-адрес; категория пользовательской таксономии будет yes , но мне нужно изменить ее для доступа к portfolio .

Большое спасибо за вашу помощь.

Solutions Collecting From Web of "Меню WordPress с пользовательской таксономией"

Возможно, в следующий раз создайте вопрос для каждой темы;)

1) Пункт меню для пользовательского типа Post Post Type

У меня нет автоматизированного решения здесь. Но в моем предложении можно создать аналогичный виджет внутри страницы Admin Admin, чтобы отобразить все Posttypes с архивом и создать ссылку на него, которую вы можете перетащить и перетащить в нужное меню.

2) Почтовый шаблон для пользовательской таксономии

Если вы показываете термин пользовательской таксономии, используется шаблон archive.php по умолчанию. Вы можете использовать некоторые условные операторы для отображения контента на основе таксономии или типа сообщения, например if(is_tax('YOUR_TAX') || is_post_type_archive('YOUR_POSTTYPE')) . Также должно быть возможно использовать archive-{tax}.php для статического файла шаблона, но он не проверял его с помощью архивов типа post.

3) Постоянная ссылка для пользовательской таксономии

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

 http://yourblog.tld/parent/cpt/<post> http://yourblog.tld/parent/cpt/taxonomy/<post> 

Для этого вам необходимо сначала зарегистрировать свой пользовательский тип сообщения со специальным параметром rewrite . Если вы зарегистрируете новый объект таксономии с register_taxonomy_for_object_type для своего настраиваемого типа сообщений, прежде чем регистрировать свою пользовательскую таксономию. Как описано Ян Фабри в ответе здесь на SE, это необходимо для правильного порядка генерируемых правил перезаписи.

Пользовательский тип сообщения

 $args = array( // your arguments 'rewrite' => array('slug' => 'parent/cpt', 'with_front' => false) ); register_post_type('YOUR_POSTTYPE', $args); register_taxonomy_for_object_type('YOUR_TAXONOMY', 'YOUR_POSTTYPE'); 

Пользовательская таксономия

 $args = array( // your arguments 'rewrite' => array('slug' => 'parent/cpt/taxonomy', 'with_front' => false) ) register_taxonomy('YOUR_TAXONOMY', array(), $args);