WordPress Эксклюзивное Учебное пособие по Таксономии
WordPress, одна из самых мощных систем с открытым исходным кодом для ведения блогов и управления контентом, используется для обеспечения большей части сетей. До четверти всех веб-сайтов используют WordPress.
В отличие от многих других CMS, WordPress любим многими за гибкость и настраиваемость. Таксономии, одна из основных функций WordPress, позволяет организовать контент так, как вам нужно. Несмотря на то, что WordPress поставляется с несколькими стандартными таксономиями, вы можете добавлять столько пользовательских таксономий, сколько пожелаете.
Однако для того, чтобы таксономии вели себя так, как вы этого хотите, может потребоваться использовать недокументированные подходы.
В этой статье вы узнаете, как вы можете определять эксклюзивные пользовательские таксономии в WordPress, которые ведут себя намного больше как категории, чем теги, что позволяет вам классифицировать ваши посты гораздо более строго, чем вы можете из коробки.
Что такое таксономия?
Согласно кодексу WordPress:
Таксономия – это способ сгруппировать вещи.
Например, связка фруктов разных типов может быть сгруппирована по различным характеристикам, а затем этим группам могут быть назначены имена.
В WordPress таксономии используются для группировки сообщений, страниц и даже пользовательских типов сообщений в разных группах.
Названия для разных группировок в таксономии называются терминами. Взять, к примеру, фрукты и как их можно сгруппировать по цветам. В этом случае названия разных цветов будут термины.
По умолчанию WordPress поставляется с четырьмя таксономиями: категория, тег, категория ссылки и формат публикации. Вы можете узнать больше об этих таксономиях по умолчанию здесь.
Среди этих встроенных таксономий категории и теги очень похожи, но имеют одно важное отличие: категории являются эксклюзивными таксономиями (т. Е. Для каждой публикации вы можете выбрать не более одной категории), тогда как каждой публикации может быть назначено несколько тегов.
Более того, категории обычно предопределены, а теги могут быть определены по мере необходимости.
Определение пользовательских таксономий
Вы можете определить пользовательскую таксономию, используя register_taxonomy() функцию. Вы можете узнать больше о функции здесь.
Чтобы увидеть, как работает эта функция, давайте определим собственную таксономию для постов с фотографиями пейзажей.
В приведенном выше фрагменте мы определяем новую таксономию для сообщений, называемых
Вы можете подумать об этой таксономии, используемой для категоризации фотографий в зависимости от вида или характера представлений, представленных на фотографиях (например, горы, озеро или лес).
Как всегда, сообщения, относящиеся к определенным условиям этой категории, будут отображаться в / view / .
Строка возможностей в приведенном выше фрагменте не является обязательной. Без этого WordPress будет использовать возможности по умолчанию для тех же пользователей, что и сообщения. Как показано выше, это позволит любому пользователю с настраиваемой возможностью «edit_guides» назначать таксономию сообщению, а любому пользователю с настраиваемой возможностью «publish_guides» создавать новые элементы таксономии.
Согласно официальной документации, можно определить четыре возможности:
Возможности таксономии включают в себя assignterms , editterms , manageterms (отображает таксономии в админ навигации) и deleteterms .
Как используются таксономии
В вашем коде вы можете использовать wp_set_object_terms() функцию для добавления терминов к объектам, используя таксономию. Вы можете перечислить существующие термины, используя the_terms() функцию. Кроме того, вы можете использовать эту wp_tag_cloud() функцию для создания облака терминов для вашей пользовательской таксономии. Вы можете узнать больше об этих функциях здесь .
Со стороны пользовательского интерфейса WordPress создает новый мета-блок для сообщений для каждой таксономии. Мета-блок аналогичен мета-блоку Теги, который позволяет вам связать одно или несколько условий с вашим постом. Это то, что WordPress делает по умолчанию, и это то, что мы можем изменить, сделав таксономию эксклюзивной: заставьте пользовательскую таксономию вести себя как таксономия категории.
Принудительная эксклюзивность в таксономиях
Когда мы создаем пользовательскую таксономию с помощью register_taxonomy() метода, WordPress добавляет мета-блок с выбором нескольких элементов на страницу редактирования поста:
Используя этот мета-блок, пользователь может выбрать любое количество существующих (уже использованных) терминов, а также может добавить новые термины с помощью текстового поля.
Чтобы создать подобную категории таксономию, где каждая публикация принадлежит не более чем одной категории из набора предопределенных категорий, вы можете сделать это, немного настроив WordPress:
- Скрыть мета-поле по умолчанию, созданное WordPress.
- Создайте пользовательский мета-блок на странице редактирования поста, который предоставит элементы управления для выбора одного элемента.
- Сохраните значение таксономии при сохранении записи.
Давайте посмотрим на каждый из шагов.
Скрыть мета-бокс по умолчанию, созданный WordPress
Для этого нам нужно установить show_in_quick_edit и meta_box_cb параметры false при звонке register_taxonomy .
Первый параметр скрывает таксономию на панели быстрого / массового редактирования, а второй параметр скрывает ее на странице редактирования сообщения:
Если мета-поле по умолчанию скрыто, элементы могут быть добавлены в набор доступных терминов таксономии через страницу управления таксономией:
Создайте пользовательский мета-бокс на странице редактирования
Чтобы создать собственный мета-блок, мы можем использовать add_meta_boxes хук WordPress. Вы можете узнать больше о крючке здесь .
add_action('add_meta_boxes', 'add_custom_meta_box'); function add_custom_meta_box()< add_meta_box( 'taxonomy_box', __('Custom Exclusive Taxonomy'), 'fill_custom_meta_box_content', 'post' ,'side'); >
Мы вызываем add_meta_box метод со следующими аргументами:
- taxonomy_box – Идентификатор мета-блока
- __(‘Custom Exclusive Taxonomy’) – Название мета-бокса
- fill_custom_meta_box_content – функция, которая используется для заполнения содержимого мета-поля
- post – Это указывает на то, что мета-поле должно появиться на странице редактирования сообщения.
- side – Это указывает место, где мета-поле должно быть вставлено.
Обратите внимание, как мы указали taxonomy_box в качестве идентификатора. Тем не менее, именно функция в третьем параметре позволит нам определить, что будет в поле.
Теперь мы реализуем fill_custom_meta_box_content функцию:
Здесь мы сначала извлекаем все термины (т. Е. Существующие значения) таксономии. Мы будем использовать их для отображения списка элементов управления переключателями.
Далее мы извлекаем текущий выбранный термин таксономии, используя get_the_terms() функцию – нам нужно, чтобы был выбран соответствующий переключатель.
Обратите внимание, что эта функция возвращает массив. Это связано с тем, что по умолчанию сообщение может иметь любое количество терминов, связанных с ним. По нашему предположению, запись имеет не более одного термина, поэтому мы получаем доступ к первому элементу массива. (Это нормально, если массив пуст; мы получим null в качестве текущего значения и не будет выбран ни один переключатель).
В исходном HTML-коде используются custom_taxonomy радиокнопки и соответствующие термины в качестве значений; атрибуты идентификатора переключателя просто используются для подключения к тегам меток. В результате мы получаем следующий пользовательский мета-блок:
Сохранить значение таксономии при сохранении сообщения
Наконец, нам нужно сохранить значение таксономии при сохранении сообщения. Для этого мы можем использовать save_post крючок:
add_action('save_post', 'save_custom_taxonomy'); function save_custom_taxonomy($post_id)< if ( isset( $_REQUEST['custom_taxonomy'] ) ) wp_set_object_terms($post_id, (int)sanitize_text_field( $_POST['custom_taxonomy'] ), 'custom_taxonomy'); >
И это все! Мы сделали.
Теперь вы знаете, как определить пользовательскую таксономию, которая будет вести себя как встроенная таксономия категории.
Примечание: WordPress принял запрос на добавление функции, чтобы упростить переключение эксклюзивности для пользовательских таксономий. Тем не менее, билет не видел много активности в течение некоторого времени.
Заворачивать
Таксономии – очень мощная и полезная функция в WordPress. Изначально им не хватает возможности выполнять строгую категоризацию сообщений, но, как и почти все в WordPress, таксономии и связанные с ними функции чрезвычайно настраиваемы. Это позволяет нам добавить эту часто необходимую способность в несколько шагов.
Представленный здесь подход также можно использовать для создания еще более настраиваемого пользовательского интерфейса на страницах редактирования сообщений для выбора термина таксономии.
Я надеюсь, что вы нашли этот краткий учебник по определению эксклюзивных пользовательских таксономий полезным!
Таксономия в WordPress
Это принцип категоризации чего-либо, в WordPress же это касается записей. Таксономии похожи на теги в социальных сетях или папки на вашем компьютере. Заходя в таксономию (рубрику) мы видим список всех записей которые относятся именно к ней.
По умолчанию в WordPress существует пять таксономии:
- category — рубрики/категории
- post_tag — метки/теги
- post_format — скрытая таксономия. Термины этой таксономии — это форматы записей.
- nav_menu — скрытая таксономия. Термины этой таксономии — это созданные меню навигации, к ним прикрепляются записи (ссылки меню).
- link_category — разделы для ссылок, которые отключены в последних версиях. Подробнее о включении ссылок.
Помимо этого можно создавать и свои собственные таксономии добавляя и модифицируя их характеристики.
Таксономия WordPress: работа с терминами
От автора: Концепция таксономий и терминов в WordPress нераздельна. Чуть ниже я более подробно расскажу об этом. По моему мнению, чтобы работать с терминами, необходимо понимать, что представляют собой таксономии и термины, и как они взаимодействуют. Иначе как мы будем уверены, что все делаем правильно на программном уровне?
В этой серии из двух статей мы с вами узнаем, что такое таксономии, их роль в WordPress, а также, что их связывает с терминами. И чуть позже мы обратим внимание на понятие терминов, а также научимся работать с term metadata API.
Рекомендую ознакомиться с предыдущими моими статьями, если вы еще этого не сделали. В них я объясняю принцип работы API, с которым мы будем работать. Если же вы не хотите тратить свое время на это, в принципе, ничего страшного. В этой серии мы подробно разберем все, что вам будет нужно.
Что такое таксономии?
Определение из кодекса: «В WordPress «таксономии» — это механизм группировки нескольких постов (ссылок или постов пользовательского типа).»
Это слово мы слышим нечасто. Иногда люди даже теряются, когда начинают говорить о таксономиях и терминах. Другими словами, люди используют пример фразы в качестве таксономии, но на самом деле это всего лишь термин. Чуть ниже я объясню это предложение.
Говоря простым языком, таксономии – это способы группировки вещей. В WordPress после установки есть две таксономии: категории и теги. Ниже мы разберем каждую таксономию более подробно.
Есть один нюанс, по крайней мере, в WordPress: таксономии могут быть иерархическими и неиерархическими. Самый понятный пример вышесказанного:
При создании нового категории в WordPress, вы можете создать как категорию верхнего уровня, подкатегорию, так и уже существующую категорию. К примеру, орлы – подкатегория птиц.
Создавая тег в WordPress, вы прописываете одно слово или фразу, которая будет ассоциироваться с постом. Дочерних и родительских тегов не бывает.
В этом и заключается разница иерархической и неиерархической таксономии. Вроде бы легко, правда? Если поддерживаются дочерние элементы, как в категориях, это иерархическая таксономия. Если же дочерние элементы не поддерживаются, как в тегах, это неиерархическая таксономия.
В этой серии статей умение различать таксономии не играет большой роли, разве что это поможет лучше понять этот язык в процессе разработки.
Но когда мы начнем программно создавать таксономии и прикреплять к ним термины, у нас не должно возникнуть сомнения в том, что мы делаем.
Что такое термины?
С таксономиями мы разобрались, а что такое термины? Из кодекса: «Термины в WordPress – это классификация, группа или подмножество таксономии, где последнее может быть категорией, тегом или пользовательской таксономией. По умолчанию у терминов есть заголовок, краткий заголовок URL адреса и описание. Иерархические таксономии, такие как категории, могут создавать родительские термины.»
Именно то определение, которого следовало ожидать, учитывая все, что мы уже изучили. Т.е. термины ассоциируются с таксономиями. Однако у терминов есть несколько важных аспектов, которые необходимо знать, если мы будем создавать их или работать с ними программно. Термины состоят из:
Краткого заголовка URL адреса
И не забывайте, что если мы работает с иерархической таксономией, такой как категории, термины могут включать в себя родительские термины.
Это не означает, что в таксономиях нет информации, относящейся к терминам. К примеру, у таксономии есть название, тип поста, с которым она ассоциируется, а также ряд аргументов, которые выходят за рамки этой статьи. В следующей статье мы подробно их рассмотрим.
Как связаны термины и таксономии?
Между терминами и таксономиями что-то наподобие симбиотической связи, т.е. один не может существовать без другого. В иерархических таксономиях это прослеживается нагляднее. В кодексе WordPress есть диаграмма, описывающая связь таксономий и терминов:
К примеру, можно иметь таксономию Категории, но в ней должен быть хотя бы один термин. Именно поэтому в WordPress по умолчанию есть термины без категорий (Uncategorized).
Но также можно создать таксономию Теги и не хранить ни одного тега в базе данных. Можем ли мы, как разработчики, как-то расширить данную систему? Как термины, так и таксономии могут быть созданы программно, однако пользователи также могут создавать и добавлять их. По крайней мере, если в пользовательском интерфейсе есть такая возможность.
Конкретный пример: С помощью интерфейса WordPress все мы можем создавать категории и теги. Но если вы программист и хотите переместить отдельные таксономии и термины в базу данных, вы можете сделать так, чтобы пользователи не смогли больше добавлять и удалять их через интерфейс.
Что такое Term Metadata?
Мы уже поняли, что такое таксономии и термины, а также разницу между ними, и остался один вопрос: Зачем нужны term metadata? Или по-другому в чем смысл term metadata?
Хороший вопрос. Возможно, именно поэтому данной функции не было до WordPress 4.4. Что еще интереснее, так это то, что об этой функции объявили больше 6 лет назад. Главная причина, по которой еще 6 лет назад заговорили о метаданных терминов была:
«На данный момент нет конкретного способа хранения дополнительных данных в таксономиях. Разработчикам плагинов приходится создавать методы для хранения таких данных. К примеру, можно хранить данные в зашифрованном виде в поле описания или использовать метод set_option(). Новая функция не помешала бы, к примеру, add_taxonomy_data() / get_taxonomy_data().»
Данное понятие будет иметь для вас смысл, если вы продвинутый разработчик. Но не все из нас достигли такого уровня знаний, и мы не можем точно сказать, чем метаданные терминов лучше.
Как и в других API, мы можем хранить данные о любом термине из базы данных. К метаданным терминов можно отнести что-либо, связанное с временем создания термина, автором, количеством постов, с которыми ассоциируется данный термин. Также с их помощью терминам можно добавлять изображения.
Так как информация в метаданных терминов может быть самой разной, нам открываются широчайшие возможности. В следующей статье мы рассмотрим конкретные примеры.
Заключение
На данный момент вы знаете все, что вам пригодится для работы с терминами и таксономиями. Когда вы будете писать плагин, тему или что-либо еще для клиента, вам, скорее всего, придется несколько раз открыть кодекс. Даже для опытного разработчика это нормальная практика.
В следующей статье мы научимся работать с метаданными терминов: разберем конкретный пример кода, добавим этот код в одну из тем по умолчанию, будем вносить изменения и следить за базой данных.
Автор: Tom McFarlin
Редакция: Команда webformyself.
Что такое таксономия wordpress: Что такое Таксономии WordPress Блог сумасшедшего сисадмина
Поскольку вложение – это тип сообщения, по умолчанию будет использоваться _update_post_term_count(). Однако это может работать не так как нужно, поскольку в этом случае будут учитываться только те вложения, которые прикреплены к посту (например, когда вы вставляете изображение в пост). Это означает, что вложения, которые вы просто загружаете в WordPress с помощью медиатеки, но фактически не прикрепляете к посту, не будут учтены при подсчете. В этом случае вам следует принудительно использовать _update_generic_term_count(). Для этого нужно указать ‘_update_generic_term_count’ в качестве значения для update_count_callback. Ниже приведены два сообщения Джастина Тэдлока о пользовательских таксономиях, которые вы должны прочитать.
Вы можете также добавлять столько дополнительных таксономий, сколько вам требуется. Работают они по аналогии с рубриками и метками, и имеют термы. Каждая из ваших таксономий имеет тот же самый статус, что и любая другая встроенная таксономия. Все это напоминает способ сравнения записей и произвольных типов записей.
Современные взгляды на таксономию[править править код]
По умолчанию WordPress тоже поддерживает теги для постов, а ещё рубрики. Итак, мы выяснили, что в таблицу wp_term записались данные созданной мной категории (term) с ID — 45, под названием (name) — «Новая рубрика тра ля ля» и слагом (slug) — «novaya-rubrika-tra-lya-lya». Чтобы создать неиерархическую настраиваемую таксономию, такую как Теги, добавьте этот код в свою тему functions.php или в плагин для конкретного сайта.
Дело в том, что с версии 3.5 ссылки по умолчанию сделали отключенными. Но не удалили — вставьте следующий код в файл functions.php вашей темы и ссылки вновь появятся у вас в админке. До версии 4.4 у терминов не было метаполей и их записывали в опции, жуткое было время. Вы можете редактировать файлы своих дочерних тем и другие ресурсы, чтобы воспользоваться этой новой информацией. Я бы начал с редактирования файла category.php или tag.php , если вы изменили эти таксономии, чтобы подтянуть новую информацию. Вы должны следовать этой общей схеме и применять ее к вашим пользовательским таксономиям.
Что такое таксономии?
Тогда у вас будет возможность редактировать эти панели и сохранить информацию, как вам нужно. Мы собираем значение slug из термина объекта и сохраняем его. После этого мы собираем все четыре значения новых полей из объекта $_POST . Наконец мы вызываем другую функцию update_option($option_name,$option_value) . Имея этот ID , мы можем вызвать функцию get_term($term_id,$taxonomy_name) .
«Я знаю одну интернет-компанию, где работа всех инженеров-программистов называется „инженер“». Конечно, они занимаются разными вещами, но их «роли» и «задачи» распределяются на уровне руководителей и не включены в название самой должности». что такое WordPress «Хотя не хочется уж слишком упираться в это, я всё равно советую вам не особенно радоваться насчёт 20 тысяч навыков, которые появляются при подключении вашей LXP. Эти системы выводят навыки в виде слов, так что часто у них нет контекста».
Структура: таблицы таксономий в БД
Для добавления комментариев надо войти в систему.Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь. Данный формат нам не совсем подходит, так как нет возможности выбрать для добавляемой книги, только одну цену и один возраст. Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.
- Именно в таких случаях пользовательские таксономии могут оказаться исключительно полезными.
- Нам нужно будет подключить функцию к другому обращению, чтобы вызвать действие сохранения.
- WordPress имеет возможность предварительно определить для вас таксономию по умолчанию.Но когда вы работаете над разработкой контента, иногда возникают ситуации, когда стандартной таксономии просто недостаточно.
- На этом уровне происходит интерпретация полученной информации.
- Основная задача биологической таксономии — создание иерархической системы соподчинённых рангов, которое служит для построения естественной классификации организмов[5].
WordPress предоставляет ряд обращений, которые предназначены для того, чтобы помочь вам подключить определенный функционал, а также дать вам возможность просто изменить базовый функционал. Hierarchical ( иерархические ) таксономии работают подобно категориям, что позволяет создавать термины различных уровней ( можно назначать родительские и дочерние термины ). В WordPress Таксономии используются для классификации ваших данных и группировки их в множества и подмножества. Термом называется объект (например отдельная категория), который находиться в определенной таксономии (таксономия категорий). На самом деле термин таксономия существует довольно давно и изначально он применялся в биологии для классификации растений. Все верно описание категории было создано, но записывается оно уже в другую таблицу, которая называется wp_term_taxonomy.
Что такое таксономия навыков
Например, категории — подкатегории, а может и не иметь, конечно меток и подметок нет, также как ссылок и подссылок. Дело в том, что при переводе WordPress на русский язык, был переведен и ярлык категории «Без рубрики», а ярлык должен быть прописан лат. С ID категории вроде бы все понятно, но хотел отметить один момент. WordPress не занимается, все эти числовые значения генерирует непосредственно сама база данных. Итак, первая таблица, в которую записывается информация о созданных категориях, называется wp-terms. Теперь книги можно отсортировать по цене и возрасту, осталось только вывести наши terms на сам сайт, пока мы их видим только в админ-панели.
Современные разработки в области личностно-ориентированного обучения также используют таксономические построения. В качестве базовой частицы таксономии используется таксома – содержательная единица, на которой основывается построение системы. Более крупные единицы – таксономические категории – формируют базу построения и представляют совокупность признаков, объединяющих входящие в нее единицы. Тем не менее это решение вряд ли можно назвать идеальным, ведь за ним скрывается немало подводных камней. Разберём таксономию Блума на упрощённом примере под самых маленьких учащихся, который привела Мэри Форхэнд из Университета Джорджии.
Как построить таксономическую оценку Блума
Чтобы отобразить их, вам нужно добавить код в тему WordPress или дочернюю тему. Этот код нужно будет добавить в файлы шаблонов, где вы хотите отображать термины. Теперь, когда мы создали собственные таксономии и добавили несколько терминов, ваша тема WordPress по-прежнему их не отображает. В этой области вы можете предоставить описание вашего типа сообщения. Первое, что вам нужно сделать, это установить и активировать плагин Custom Post Type. На сегодняшний день в интернет есть множество отличных переводчиков.
Как связаны термины и таксономии?
Если указать строку, то она будет использовать в качестве параметра запроса, чтобы получить элементы этой таксономии. По умолчанию указывается название таксономии – параметр $taxonomy. Таксономии – это возможность классифицировать объекты, например рубрики для постов. Термины «таксономия» и «систематика» нередко используют как синонимы, но в строгом смысле таксономия является лишь частью систематики[1]. Обычно в биологии систематику трактуют как раздел знаний о разнообразии организмов и взаимоотношениях между ними, а таксономию как раздел науки, изучающий принципы, методы и правила классификации[5]. Основная задача биологической таксономии — создание иерархической системы соподчинённых рангов, которое служит для построения естественной классификации организмов[5].