Наиболее WordPress пользователи знакомы с бирками и категорий, и с тем, как их использовать, чтобы организовать свои посты блога.Если вы используете пользовательские типы сообщение в WordPress, вы, возможно, потребуется организовать их, как категорий и тегов.Категории и теги примеры таксономии и WordPress позволяет создать столько пользовательских таксономии, как вы хотите.Эти пользовательские таксономии работать как категории или тегов, но отдельный .
В этом уроке мы расскажем, пользовательские таксономии и как их создавать.Мы также перейти, какие файлы шаблона в тему WordPress контролировать архивы встроенные и пользовательские таксономии, и некоторые дополнительные методы для настройки поведения таксономии архивов .
Terminology
Прежде чем продолжить, давайте нашей терминологии прямо.Таксономии WordPress тип содержимого, используется в основном для организации содержимого любого другого типа контента.Два таксономии все знакомы с построены в: категорий и тегов.Мы склонны называть индивидуальный объявление тега “тег”, но, если быть точным, мы должны относиться к нему как к “срок” в “тега” таксономии.Мы почти всегда относятся к статьям, в пользовательском таксономии,
Категории и теги представляют собой два типа таксономии: иерархические и неиерархические.Как категориях, иерархические таксономии может иметь родитель-потомок между терминами в таксономии.Например, вы могли бы иметь на своем блоге категорию “Кино”, который имеет несколько дочерних категории, с такими именами, как “внешняя” и “внутренний”. Пользовательские таксономии может также быть иерархической, как категории, или не-иерархической, как теги .
Архив таксономия список сообщений в таксономии автоматически создается WordPress.Например, это может быть страница, вы видите, когда вы нажимаете на ссылку категорию и просмотреть все сообщения в этой категории.Мы пойдем над тем, как изменить поведение этих страницах и узнать, какие файлы шаблонов создавать их .
Как Tag, категории и таксономию Архив Work
Для каждой категории, теги и таможенной таксономии, WordPress автоматически создает архив в котором перечислены все должности, связанные с этим таксономии, в обратном хронологическом порядке.Система работает очень хорошо, если вам организовать ваши сообщения в блоге с категорий и тегов.Если у вас есть сложная система организации пользовательских типов должность с пользовательской таксономией, то он не может быть идеальным.Мы пойдем за многом изменить эти архивы .
Первый шаг к настройке, чтобы знать, какие файлы в вашей теме используются для отображения архива.ДругойТемы имеют различные файлы шаблонов, но все темы есть index.php
шаблон.index.php
шаблон используется для отображения всего содержимого, если шаблон не существует выше в иерархии.Шаблон иерархия WordPress “является система, которая диктует, какой шаблон файл используется для отображения какой контент.Мы вкратце пройдемся по иерархии шаблонов для категорий, тегов и пользовательских таксономии.Если вы хотите узнать больше, эти ресурсы, мы настоятельно рекомендуем:
- “ Шаблон Hierarchy 2 “, WordPress Codex
- “ Шаблон Hierarchy 3 ,” Чип БеннеттПоток chart
- WordPress Шаблон Иерархия: Мини Resource 4 Рами Авраам и Мишель SchulpИнтерактивный chart
- Reveal Template 5 Скотт РейлиА WordPress plugin
Большинство тем имеют archive.php
шаблон, который используется для категорий и тегов архивов, а также архивов даты и автора.Вы можете добавить файл шаблона для обработки категорию и Архивы отдельно.Эти шаблоны будут называться category.php
или tag.php
, соответственно.Вы также можете создавать шаблоны для отдельных тегов или категорий, используя имя пользователя или пули категории или тега.Например, тег с идентификатором 7 будет использовать tag-7.php
, если он существует, а не tag.php
или archive.php
.Тег порция “авокадо” будет отображаться с использованием tag-avocado.php
шаблон .
Один сложная вещь, чтобы иметь в виду, что шаблон имени пули будет заменить шаблон имени с идентификационным номером.Таким образом, если тег с порция “авокадо” был идентификатор 7, то tag-avocado.php
лишит tag-7.php
, если он существует .
Иерархия шаблонов для пользовательских таксономии является немного отличается, потому что есть шаблоны для всех таксономии, для конкретных таксономии и для конкретных условий в конкретной таксономии.Итак, представьте себе, что у вас есть два таксономии, “Овощи” и “овощи”, и “Овощи” таксономия двух терминов «яблоки» и «апельсины”, а “овощей” имеет двух терминов «морковь» и «сельдерея.”Давайте добавим три шаблона с темой нашего сайта: taxonomy.php
, taxonomy-fruits.php
и taxonomy-vegetables-carrots.php
.
Для терминов в “фрукты” таксономии, все архивы бы быть получены с использованием taxonomy-fruits.php
потому что термин конкретных шаблонов не существует.С другой стороны, термин “морковь” в архивах “Овощи” таксономии была бы быть получены с использованием taxonomy-vegetables-carrots.php
.Потому что ни taxonomy-vegetables.php
шаблон не существует, все остальные члены в “овощей” будет создан с помощью taxonomy.php
.
Использование условных Tags
Пока выМожно добавить любой из пользовательских шаблонов, перечисленных выше, чтобы создать совершенно уникальный вид для любой категории, теги, пользовательские таксономии или пользовательские таксономии срок, иногда все, что вам нужно сделать, это сделать один или два небольших изменений.В самом деле, попробуйте, чтобы не создавать много шаблонов, потому что вы должны будете настроить каждый когда вы делаете общие изменения в основной HTML-разметки, которые вы используете в каждом шаблоне в теме.Если я не нужен шаблон, который радикально отличается от темы в archive.php
, я склонен придерживаться добавления условные изменения в archive.php
.
WordPress предоставляет условные функции, чтобы определить, является ли отображается категория, тег или пользовательские таксономии.Чтобы определить, является ли архив категория в настоящее время показано, вы можете использовать is_category()
для категорий, is_tag()
по тегам и is_tax()
пользовательских таксономии.is_tag()
и is_category()
функции также могут проверить для определенных категорий или меток, пули или ID.Например:
<?php
if ( is_tag() ) {
echo "True for any tag!";
}
if ( is_tag( 'jedis' ) ) {
echo "True for the tag whose slug is jedi";
}
if ( is_tag( array( 'jedi', 'sith' ) ) ) {
echo "True for tags whose slug is jedi or sith";
}
if ( is_tag( 7 ) ) {
echo "You can also use tag IDs. This is true for tag ID 7";
}
?>
Для пользовательских таксономии is_tax()
функция может быть использована для проверки любого таксономии (не включая категорий и тегов), удельный таксономии или конкретный термин в таксономии показано на рисунке.Например:
<?php
if ( is_tax() ) {
echo "True for any custom taxonomy.";
}
if ( is_tax( 'vegetable' ) ) {
echo "True for any term in the vegetable taxonomy.";
}
if ( is_tax( 'vegetable', 'celery' ) ) {
echo "True only for the term celery, in the vegetable taxonomy.";
}
?>
Создание пользовательских Taxonomies
Добавление пользовательских таксономия может быть сделано в одном из трех способов: кодирование его вручную в соответствии с инструкциями, приведенными в Кодексе, который я не рекомендую;генерации кода с помощью GenerateWP 6 ;или с помощью плагина для пользовательских типов контента, таких как Pods 7 или Types 8 .Плагины для пользовательских типов контента позволяют создавать пользовательские таксономии и видов таможенного поста в задней части WordPress “без необходимости писать код.Используя один является простой способ добавить пользовательский таксономии и получить базу для работы с пользовательских типов контента .
Если вы выберете один из первых двух вариантов, а не плагина, то вам нужно будет добавить код либо ~ 40 вашей темы | файл или пользовательского плагина.Я настоятельно рекомендую создать пользовательский плагин, а не добавление кода к functions.php
.Даже если вы никогда не создал плагин, прежде чем, я призываю вас, чтобы сделать это.При добавлении код к вашей теме в functions.php
будет работать, когда вы включаете темы (например, потому что вы хотите использовать новую тему или для устранения неполадок), систематика больше не будет работать .
Если вы написать свой собственный код таксономии, следуя указаниям в Кодексе или путем создания его GenerateWP, просто вставьте его в текстовый файл и добавить одну строку кода перед ним, и вы будете иметь плагин.Загрузить и установить его, как и любой другой плагин .
Только линию, которую нужно создать пользовательский плагин /* Plugin name: Custom Taxonomy */
.
Ниже плагин для регистрации таксономиюназвание «овощи», которые я создал с помощью GenerateWP, потому что это значительно проще и гораздо меньше, вероятно, будет содержать ошибок, чем делать это вручную:
<?php
/* Plugin Name: Veggie Taxonomy */
if ( ! function_exists( 'slug_veggies_tax' ) ) {
// Register Custom Taxonomy
function slug_veggies_tax() {
$labels = array(
'name' => _x( 'Vegetables', 'Taxonomy General Name', 'text_domain' ),
'singular_name' => _x( 'Vegetable', 'Taxonomy Singular Name', 'text_domain' ),
'menu_name' => __( 'Taxonomy', 'text_domain' ),
'all_Veggies' => __( 'All Veggies', 'text_domain' ),
'parent_Veggie' => __( 'Parent Veggie', 'text_domain' ),
'parent_Veggie_colon' => __( 'Parent Veggie:', 'text_domain' ),
'new_Veggie_name' => __( 'New Veggie name', 'text_domain' ),
'add_new_Veggie' => __( 'Add new Veggie', 'text_domain' ),
'edit_Veggie' => __( 'Edit Veggie', 'text_domain' ),
'update_Veggie' => __( 'Update Veggie', 'text_domain' ),
'separate_Veggies_with_commas' => __( 'Separate Veggies with commas', 'text_domain' ),
'search_Veggies' => __( 'Search Veggies', 'text_domain' ),
'add_or_remove_Veggies' => __( 'Add or remove Veggies', 'text_domain' ),
'choose_from_most_used' => __( 'Choose from the most used Veggies', 'text_domain' ),
'not_found' => __( 'Not Found', 'text_domain' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
);
register_taxonomy( 'vegetable', array( 'post' ), $args );
}
// Hook into the 'init' action
add_action( 'init', 'slug_veggies_tax', 0 );
}
?>
Кстати, я создал этот код, используя GenerateWP менее чем за две минуты!Услуги велик, и вручную писать код, что этот сайт может автоматически генерировать для вас не имеет смысла.Чтобы сделать процесс еще проще, вы можете использовать плагин Pluginception 9 создать пустой плагин для вас, а затем вставьте код из GenerateWP в него с помощью редактора плагин WordPress “.
Использование WP_Query с пользовательским Taxonomies
После того как вы добавили таксономию, вы можете запросить на должности с точки зрения в этой таксономии.Чтобы сделать это, мы можем использовать таксономии запросов с WP_QUERY
.
Классификация запросы могут быть очень простым или сложным.Простейший запрос будет для всех сообщений с определенного срока.Например, если бы вы Тип Сообщение названием “Джедай” и связанные собственные таксономии под названием “уровень”, то вы могли бы получить все мастера джедаи, как это:
<?php
$args = array(
'post_type' => 'jedi',
'level' => 'master'
);
$query = new WP_Query( $args );
?>
Если вы добавили второй таксономию п …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров