Таксономии WordPress: полное руководство

Опубликовано: 2021-01-20

Таксономии WordPress - это то, что многие разработчики WordPress никогда не используют. Некоторые даже не слышали о таксономии WordPress.

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

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

В этом руководстве

    Что такое таксономия WordPress?

    Если вы посмотрите официальный кодекс WordPress, вы увидите, что таксономия WordPress определяется как «механизм группировки для всего вашего контента». Вкратце, таксономия WordPress позволяет группировать сообщения на основе общих характеристик.

    В качестве примера предположим, что вы ведете блог о популярной музыке за последние 40 лет. Есть большая вероятность, что вы захотите сгруппировать свои сообщения в блоге по определенным жанрам. Таксономия - это то, что позволяет вам делать такие группировки. Таксономии помогают улучшить UX (взаимодействие с пользователем), делая его более простым и целенаправленным, когда пользователь просматривает ваш блог.

    Таксономии WordPress

    4 типа таксономий WordPress

    Две наиболее часто используемые таксономии в WordPress для группировки ваших сообщений - это теги и категории. Оба они находятся под одной общей таксономией.

    Всего в WordPress есть четыре таксономии, которые вы можете использовать при группировке сообщений в блоге.

    Здесь мы рассмотрим каждый из них.

    1. Категории

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

    Первый вариант - войти в личный кабинет WordPress и перейти в «Записи»> «Категории». Здесь вы сможете определять категории и добавлять определяемые дочерние и служебные категории.

    Второй способ сгруппировать записи по категориям - это перейти на панель управления WordPress и перейти в «Записи»> «Добавить новые». Когда вы посмотрите на панель рядом с визуальным редактором, вы увидите, что вы можете добавлять свои категории прямо из этого места.

    2. Теги

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

    Теги - это простые параметры, которые объединяют связанные сообщения. Они сосредоточены на мелких деталях содержимого вашего блога, а не на общей теме.

    Вернемся на минутку к вашему теоретическому музыкальному блогу. Представьте, что вы хотите создать жанры и поджанры для содержания своего музыкального блога. Лучший способ сделать это - использовать классификацию категорий для жанра «звезды хип-хопа 90-х». Эта таксономия группирования будет поддерживать иерархическую структуру.

    Затем, чтобы разбить контент на поджанры, вы можете добавить в контент теги для конкретных исполнителей, например «Snoop Dogg» и «Ice Cube».

    Лучшее в группировке контента с помощью тегов состоит в том, что группировка будет включать любой ваш контент, который, например, включает тег «Snoop Dogg».

    Другими словами, даже если один конкретный фрагмент контента Snoop Dog находится в другой категории, чем «Звезды хип-хопа 90-х», и попадает в категорию «Художники, которые никогда не уходят», весь контент Snoop Dog по-прежнему сгруппирован вместе с тег.

    Чтобы создать теги, следуйте пути, аналогичному созданию категорий. Это можно сделать, перейдя в «Сообщения»> «Теги» или прямо на панели рядом с визуальным редактором.

    Вы также можете определить заголовок и описание в этих областях.

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

    Для публикации все сообщения должны иметь хотя бы одну категорию. WordPress по умолчанию автоматически помещает сообщения в категорию «Без категории», если вы не определяете конкретную категорию.

    Помните, что категория «Без категории» по-прежнему является категорией.

    Остальные две таксономии не видны пользователям вашего сайта. Хотя они не часто используются, их определенно стоит упомянуть и подумать о том, как их можно использовать на вашем сайте WordPress.

    3. Категории ссылок

    Это таксономия WordPress, которая позволяет категоризировать ссылки.

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

    4. Таксономии Post_Format

    Таксономия post_format позволяет классифицировать сообщения по типам - видео, аудио, стандартные и т. Д.

    Вы увидите эту панель непосредственно рядом с визуальным редактором WordPress.

    Шаблон таксономии WordPress

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

    Страница отображения по умолчанию создается с использованием вашего файла шаблона index.php. Это означает, что вы можете создать дополнительный файл шаблона, который будет уточнять и переопределять файлы шаблона index.php.

    Здесь мы объясним, как вы можете создавать и использовать эти шаблоны таксономии.

    Иерархия шаблонов таксономии

    Иерархия шаблонов - это то, что WordPress использует для определения порядка отображения сообщений.

    Шаблоны category.php, taxonomy.php и tag.php позволяют просматривать сообщения, отфильтрованные по таксономии, иначе, чем нефильтрованные сообщения или сообщения, отфильтрованные с использованием другой таксономии.

    Помните, что «сообщение» относится к любому типу сообщений, например, страницам, произвольным типам сообщений или сообщениям. В основном это файлы, которые позволяют настраивать таргетинг на определенные таксономии WordPress или термины таксономии.

    Примеры этих файлов шаблонов таксономии:

    • taxonomy- {taxonomy} - {term} .php
    • taxonomy- {taxonomy} .php
    • тег- {slug} .php
    • тег- {id} .php
    • category- {slug} .php
    • категория- {ID} .php

    Это может, в частности, позволить вам форматировать все ваши сообщения в таксономии животных под названием «Новости» на странице с другим видом, чем ваши сообщения, отфильтрованные в других категориях.

    Шаблон таксономии archive.php обеспечивает наиболее общую форму управления. Он обеспечивает определенный макет для всех ваших архивов. На странице отображается список ваших сообщений.

    Иерархия категорий

    Когда дело доходит до категорий, WordPress просматривает файл category- {slug} .php. Если его нет, WordPress затем пытается найти файл для следующего последовательного иерархического уровня, которым является категория- {ID} .php и т. Д.

    Когда WordPress не находит файл шаблона archive.php или другие специализированные шаблоны, он автоматически возвращается к своему поведению по умолчанию, используя index.php.

    Иерархия категорий выглядит так:

    1. category- {slug} .php: Например, если ярлык категории называется «пепперони», WordPress будет искать файл с именем category-pepperoni.php.

    2. category- {ID} .php: Например, если ID вашей категории «8», WordPress ищет файл с именем category-9.php.

    3. category.php

    4. archive.php

    5. index.php

    Иерархия тегов

    С тегами WordPress будет искать определенный тег - {slug} .php файл. Если WordPress не может его найти, он будет искать нужный файл на следующем иерархическом уровне, которым является tag- {ID} .php и так далее.

    Когда WordPress не найдет ни одного файла шаблона archive.php или специализированных шаблонов, он вернется к своему поведению по умолчанию, используя index.php.

    Иерархия тегов выглядит так:

    1. tag- {slug} .php: Например, если ярлык тега называется «drpepper», WordPress ищет поле с именем tag.drpepper.php.

    2. tag- {id} .php: Например, если ID вашего тега был «3», WordPress ищет файл с именем tag-3.php.

    3. tag.php

    4. archive.php

    5. index.php

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

    Пользовательские иерархии таксономии во многом похожи на иерархии тегов и категорий, о которых говорилось выше.

    WordPress сначала будет искать таксономию - {taxonomy} - {term} .php. Если он не найдет его, он будет искать следующий в иерархии файл, которым является taxonomy- {taxonomy} .php, и так далее.

    Когда WordPress не найдет ни одного файла шаблона archive.php или специализированных шаблонов, он вернется к своему поведению по умолчанию, используя index.php.

    Иерархия пользовательской таксономии выглядит так:

    1. taxonomy- {taxonomy} - {term} .php: Например, если ваша таксономия называется «Tax», а термин той же таксономии - «statelevel», WordPress ищет файл с именем taxonomy-Taxonomy-statelevel.php .

    2. taxonomy- {taxonomy} .php: Например, когда таксономия называется «Taxonomy», WordPress ищет файл с именем taxonomy-Tax.php.

    3. taxonomy.php

    4. archive.php

    5. index.php

    Как создать файлы шаблонов таксономии

    С чего начать после того, как вы решите, что хотите создавать индивидуальный дизайн для своего контента, используя таксономии?

    Лучше не начинать с пустого файла. Скорее, если он существует, просто скопируйте следующий файл в иерархии.

    Предполагая, что archive.php уже создан, создайте копию и назовите ее category.php. Затем измените этот файл в соответствии с вашими конкретными целями и потребностями дизайна.

    Если у вас еще нет файла archive.php, вы можете использовать файл index.php в своей теме, скопировать его и использовать в качестве отправной точки.

    При создании любого файла шаблона таксономии вы можете следовать тем же идентичным процедурам. Просто используйте копию category.php, index.php, tag.php или archive.php в качестве отправной точки.

    Как добавить текст на страницы категорий

    Если вы хотите добавить текст на страницы категорий, у вас есть несколько способов сделать это.

    Статический текст над сообщениями

    Это то, что вы будете использовать, когда хотите, чтобы статический текст (текст, который всегда остается одинаковым для всех сообщений во всех категориях) отображался перед списком ваших сообщений на страницах категорий.

    Откройте файл. Над разделом цикла файла шаблона просто вставьте этот код:

     <p>
    Это текст, который будет отображаться в верхней части страницы категории.
    </p>

    Текст будет отображаться только на страницах архива, отображающих сообщения в этой конкретной категории.

    Как разместить другой текст на страницах некоторых категорий

    Если вы хотите отображать другой текст, основанный на конкретной странице категории, которую использует ваш посетитель, подумайте о добавлении текста по умолчанию непосредственно в ваш основной файл category.php.

    Затем вы можете создать несколько уникальных файлов категорий {slug} .php, каждый из которых имеет свою собственную версию текста. Проблема в том, что при этом будет создано много файлов темы.

    Чтобы противостоять этому, используйте условные теги.

    Следующий код снова будет добавлен сразу после цикла:

     <? php if (is_category ('Категория A')):?>
    <p> Это текст для описания категории А </p>
    <? php elseif (is_category ('Категория B')):?>
    <p> Это текст для описания категории B </p>
    <? php else:?>
    <p> Это общий текст для описания всех других страниц категорий,
    Я могу оставить поле пустым </p>
    <? php endif; ?>

    Этот код будет:

    • Убедитесь, что пользователь запросил категорию A. Если да, то будет отображена первая часть текста.
    • Проверьте категорию B, если посетитель сайта не запрашивал категорию A. Если они это сделали, отобразится вторая часть текста.
    • Отображать текст по умолчанию, если не запрашивались ни A, ни B

    И все готово.

    Как отобразить текст только на первой странице архива

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

    Для этого вы хотите использовать оператор PHP «if», который ищет значение переменной WordPress $ paged.

    Это то, что вы хотите вставить выше цикла:

     <? php if ($ paged <2):?>
    <p> Текст для первой страницы архива категории. </p>
    <? php else:?>
    <? php endif; ?>

    Используя это, код спросит, является ли отображаемая страница первой в архиве. Когда это так, будет отображаться текст, посвященный первой странице.

    В противном случае будет отображаться текст для следующих страниц.

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

    Если вы посмотрите на правую часть визуального редактора WordPress, вы увидите метки «Категории» и «Теги». Но что, если вы хотите иметь свою собственную таксономию, например, «Художники»?

    Здесь в игру вступают настраиваемые таксономии WordPress. Эта функция позволяет вам настраивать все ваши таксономии, чтобы полностью соответствовать вашим требованиям разработки.

    В качестве примера рассмотрим сайт WordPress для небольшого ресторанчика по соседству. Вместо того, чтобы иметь общую таксономию под названием «Категории», не было бы лучше иметь пользовательскую таксономию, которая гласит «Закуски» и «Основные блюда?»

    Затем каждую настраиваемую таксономию можно разбить на подкатегории, такие как «Пицца» и «Паста».

    Та же концепция применима к таксономиям тегов. У вас могут быть теги для таких вещей, как «Supreme» или «Lighter Fare».

    Создание пользовательских таксономий WordPress

    Пользовательскую таксономию WordPress можно создать двумя разными способами. Их можно создать с помощью прямого кодирования или с помощью пары различных плагинов WordPress.

    Создание собственной таксономии WordPress с помощью плагинов

    Использование плагина - это, безусловно, самый простой способ создать собственную таксономию WordPress. На самом деле, для этого вам совсем не понадобится много технических навыков.

    Лучшие плагины для создания пользовательских таксономий WordPress - это модули и пользовательский интерфейс пользовательских типов сообщений.

    Мы воспользуемся плагином пользовательского интерфейса Custom Post Types, чтобы рассказать, как создается пользовательская таксономия WordPress.

    1. Загрузите, установите и активируйте плагин WordPress Custom Post Types UI.
    2. Перейдите в пользовательский интерфейс CTP> Добавить / изменить таксономии
    3. Заполните поле названием таксономии WordPress, которое вы хотите использовать. В этом случае предположим, что мы используем категорию «Художники».
    4. Выберите тип сообщения, к которому вы хотите применить новую таксономию WordPress.
    5. Нажмите кнопку «Добавить таксономию» внизу.
    6. Теперь перейдите в «Записи»> «Добавить», и вы увидите новую таксономию WordPress рядом с визуальным редактором.

    Вы, вероятно, заметите, что ваша новая таксономия - это тег, который называется «Художники». Но что, если вы хотите создать категорию, а не тег? Ответ проще, чем вы думаете.

    Все, что вам нужно сделать, это немного прокрутить вниз и изменить «Иерархический» на «Верно». Ваша настраиваемая таксономия теперь является категорией, а не тегом.

    Создавайте собственные таксономии WordPress, добавляя код в functions.php

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

    Как опытный пользователь WordPress, вам нужно всего лишь добавить пару строк кода в файл WordPress functions.php в каталоге вашей темы WordPress.

    Обратите внимание, что код для неиерархических таксономий будет отличаться от иерархических таксономий.

    Перед выполнением этого процесса убедитесь, что вы используете плагин резервного копирования WordPress, который позволит вам мгновенно восстановить свой сайт, если в процессе что-то сломается.

    И пока вы это делаете, самое время подумать о плагине безопасности WordPress, который работает на вашем сайте.

    Получите бонусный контент: Руководство по безопасности WordPress
    Кликните сюда

    В связи с тем, что в настоящее время происходят основные взломы и нарушения безопасности во всем мире, важно убедиться, что вы используете лучший инструмент для защиты своего сайта WordPress. iThemes Security позаботится о вас.

    Теперь примеры необходимого кода для иерархических таксономий и неиерархических таксономий показаны ниже.

    Иерархическая таксономия (категория): пример кода

     // подключаемся к действию init и вызываем create_book_taxonomies, когда оно запускается
    add_action ('инициализация', 'create_topics_hierarchical_taxonomy', 0);
    
    // создаем настраиваемую таксономию, назовем ее темы для ваших сообщений
    function create_topics_hierarchical_taxonomy () {
    
    // Добавить новую таксономию, сделать ее иерархической, как категории
    
    // сначала делаем перевод для графического интерфейса
    $ label = массив (
    'name' = _x ('Темы', 'общее название таксономии'),
    'singular_name' = _x ('Тема', 'единственное имя таксономии'),
    'search_items' = __ ('Темы поиска'),
    'all_items' = __ ('Все темы'),
    'parent_item' = __ ('Родительская тема'),
    'parent_item_colon' = __ ('Родительская тема:'),
    'edit_item' = __ ('Изменить тему'),
    'update_item' = __ ('Обновить тему'),
    'add_new_item' = __ ('Добавить новую тему'),
    'new_item_name' = __ ('Название новой темы'),
    'menu_name' = __ ('Темы'),
    );
    
    // Теперь регистрируем таксономию
    register_taxonomy ('темы', массив ('сообщение'), массив (
    'иерархический' = истина,
    'labels' = $ labels,
    'show_ui' = истина,
    'show_admin_column' = истина,
    query_var = истина,
    'rewrite' = array ('slug' = 'topic'),
    ));
    }

    Неиерархическая таксономия (тег): пример кода

     // подключаемся к действию init и вызываем create_book_taxonomies, когда оно запускается
    add_action ('инициализация', 'create_topics_hierarchical_taxonomy', 0);
    
    // создаем настраиваемую таксономию, назовем ее темы для ваших сообщений
    function create_topics_hierarchical_taxonomy () {
    
    // Добавить новую таксономию, сделать ее иерархической, как категории
    
    // сначала делаем перевод для графического интерфейса
    $ label = массив (
    'name' = _x ('Темы', 'общее название таксономии'),
    'singular_name' = _x ('Тема', 'единственное имя таксономии'),
    'search_items' = __ ('Темы поиска'),
    'all_items' = __ ('Все темы'),
    'parent_item' = __ ('Родительская тема'),
    'parent_item_colon' = __ ('Родительская тема:'),
    'edit_item' = __ ('Изменить тему'),
    'update_item' = __ ('Обновить тему'),
    'add_new_item' = __ ('Добавить новую тему'),
    'new_item_name' = __ ('Название новой темы'),
    'menu_name' = __ ('Темы'),
    );
    
    // Теперь регистрируем таксономию
    register_taxonomy ('темы', массив ('сообщение'), массив (
    'иерархический' = истина,
    'labels' = $ labels,
    'show_ui' = истина,
    'show_admin_column' = истина,
    query_var = истина,
    'rewrite' = array ('slug' = 'topic'),
    ));
    }

    Затем, когда вы хотите, чтобы новая таксономия отображалась в визуальном редакторе WordPress, откройте single.php из редактора и скопируйте следующий код:

     the_terms ($ post-ID, 'темы', 'Темы:', ',', '');

    Если весь процесс был завершен правильно, теперь вы увидите новую таксономию под названием «Тема» в вашем визуальном редакторе.

    Подведение итогов: понимание таксономий WordPress

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

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

    Если вы правильно используете стратегию таксономии WordPress, это повысит удобство работы пользователей и общую производительность вашего сайта.

    Таксономии WordPress