Настройка WordPress Архивы для категории, теги и другие таксономии

Наиболее WordPress пользователи знакомы с тегами и категориями, и с тем, как их использовать, чтобы организовать свои сообщения в блоге.Если вы используете пользовательские типы сообщение в WordPress, вы, возможно, потребуется организовать их, как категории и теги.Категории и теги примеры таксономии, и WordPress позволяет создать столько пользовательских таксономии, как вы хотите.Эти пользовательские таксономии работать как категории или тегов, но отдельный .

В этом уроке мы расскажем, пользовательские таксономии и как их создавать.Мы также перейти, какие файлы шаблонов в теме WordPress управления архивов Встроенные и пользовательские таксономии и некоторые передовые методы для настройки поведения таксономии архивов .

Terminology

Прежде чем продолжить, давайте наш терминология прямо.Таксономии WordPress тип содержимого, используется в основном для организации содержимого любого другого типа контента.Два таксономии все знакомы с построены в: категорий и тегов.Мы склонны называть отдельные проводки тега “тег”, а если быть точным, мы должны обратиться к нему как “срок” в “TAG” таксономии.Мы почти всегда относятся к пунктам в пользовательском таксономии как

Категории и теги представляют собой два типа: иерархические таксономии и неиерархические.Как категориях, иерархические таксономии может иметь родитель-потомок отношения между терминами в таксономии.Например, вы могли бы иметь на своем блоге категорию “фильмы”, который имеет несколько дочерних категории, с такими именами, как “внешняя” и “внутренний”. Пользовательские таксономии могут быть иерархическими, как категории, или не-иерархического, как теги .

wordpress-categories-taxonomies-opt
Небольшая часть “ WordPress Шаблон Hierarchy”.( Source 1 )

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

Как Метка, Категория и пользовательских Классификация Архив Work

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

Первый шаг к настройке, чтобыузнать, какие файлы в вашей теме используются для отображения архива.Разные темы имеют различные файлы шаблонов, но все темы есть index.php шаблон.index.php шаблон используется для отображения всех содержание, если шаблон не существует выше в иерархии.Шаблон WordPress иерархия “является система, которая диктует, какой шаблон файл используется для отображения какой контент.Мы вкратце перейти иерархию шаблона для категорий, тегов и пользовательских таксономии.Если вы хотите узнать больше, эти ресурсы настоятельно рекомендуется:

Большинство тем имеют archive.php шаблон, который используется для категории и теги архивов, а также архивов даты и автора.Вы можете добавить файл шаблона для обработки категорий и тегов архивов отдельно.Эти шаблоны будут названы category.php или tag.php, соответственно.Вы также можете создавать шаблоны для определенных тегов или категорий, используя идентификатор или глоток категории или тега.Например, тег с ID 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 __20 | 7 | или __24 Types __26 | | 8__13 .Плагины для пользовательских типов контента позволяют создавать пользовательские таксономии и пользовательские типы почтовых в задней части 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 );
?>

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.