Таксономии в wordpress

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

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


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

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

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

Давайте посмотрим на каждый из шагов.

Скрыть мета-бокс по умолчанию, созданный WordPress

Для этого нам нужно установить и параметры при звонке .

Первый параметр скрывает таксономию на панели быстрого / массового редактирования, а второй параметр скрывает ее на странице редактирования сообщения:

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

Создайте пользовательский мета-бокс на странице редактирования

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

Мы вызываем метод со следующими аргументами:

  • – Идентификатор мета-блока
  • – Название мета-бокса
  • – функция, которая используется для заполнения содержимого мета-поля
  • – Это указывает на то, что мета-поле должно появиться на странице редактирования сообщения.
  • – Это указывает место, где мета-поле должно быть вставлено.

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

Теперь мы реализуем функцию:

Здесь мы сначала извлекаем все термины (т. Е. Существующие значения) таксономии. Мы будем использовать их для отображения списка элементов управления переключателями.

Далее мы извлекаем текущий выбранный термин таксономии, используя функцию – нам нужно, чтобы был выбран соответствующий переключатель.

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

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

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

Сохранить значение таксономии при сохранении сообщения

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

И это все! Мы сделали.

Теперь вы знаете, как определить пользовательскую таксономию, которая будет вести себя как встроенная таксономия категории.

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

Когнитивная область

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


В качестве примера таксономии на когнитивном уровне Блум выделяет шесть типов когнитивного процесса:

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

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

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

Аффективная область

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

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

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

Description

Taxonomy filter is a simple and flexible plugin which allow users to filter hierarchical term taxonomies inside admin pages. If you need to simplify your tags and categories research on admin pages, this plugin will make it easier for you. It adds a custom input field (only for configured taxonomies) that you can use to filter a every taxonomy list.

Imagine having too many tags on your post admin page and having to lose so much time scrolling a long list of items or having to search for a tag with the classic browser search box. With “Taxonomy filter” plugin you can search, choice and select tags in a very short time, a great gain!

In addition, you have to setup which taxonomies should have “Taxonomy filter” activated. When you install and activate the plugin, an admin page is added on settings section. In this page are automatically listed all valid taxonomies, you have two options:

  • enable on post management pages (allow you to turn on/off filter field)
  • hide filter field if taxonomy is empty

You can also manage taxonomy filters into bulk edit section if you want to perform a quick edit.

If in your theme you have changed post columns using the ‘manage_edit-post_columns’ filter, you need to add another filter to apply the taxonomy filter bulk section. For example:

It works only with hierarchical taxonomies (both default categories and custom taxonomies).

When you enable a taxonomy filter, a section for choosing hidden taxonomy terms is displayed in user profile page and in term edit pages. In user profile page you can select (for each user) a list of taxonomy terms that are removed from hierarchical term taxonomies inside admin pages. By default, all taxonomy terms are visible in the hierarchical term taxonomies sections inside admin pages. You can choose only from max 2 nested levels but all the children of a hidden term are automatically removed from admin pages. Keep in mind that the hidden terms are not searchable and filterable. In edit term page you can select (for all users) if term should be removed (make hidden) from hierarchical term taxonomies inside admin pages.

Сохранение значения

При сохранении термина будет вызываться функция tax_pic_save($term).  Её устройство очень простое.

public function tax_pic_save($term_id) { if (isset($_POST)) update_term_meta($term_id, ‘pic’, $_POST); }

1 2 3 4 5

publicfunctiontax_pic_save($term_id)

{

if(isset($_POST’tax_pic’))

update_term_meta($term_id,’pic’,$_POST’tax_pic’);

}

Наш плагин может выполнять чтение значения из базы.

public function get_pic_url($term_id) { return get_term_meta($term_id, ‘pic’, true); }

1 2 3 4

publicfunctionget_pic_url($term_id)

{

returnget_term_meta($term_id,’pic’,true);

}

Добавление поля в форму редактора

public function tax_pic_edit($taxonomy) { wp_enqueue_style(‘thickbox’); wp_enqueue_script(‘thickbox’); wp_enqueue_script(‘media-upload’); if(empty($taxonomy)) { echo ‘<div class=»form-field»> <label for=»tax_pic»>Изображение</label> <input type=»text» name=»tax_pic» class=»tax_pic» value=»» /> <input type=»button» class=»select-img» id=»tax_pic» value=»Выбрать» /> </div>’; } else { $pic_url = get_term_meta($taxonomy->term_id, ‘pic’, true); echo ‘<tr class=»form-field»> <th scope=»row» valign=»top»><label for=»tax_pic»>Изображение</label></th> <td><input type=»text» name=»tax_pic» class=»tax_pic» value=»‘ . $pic_url . ‘» /> <input type=»button» class=»select-img» id=»tax_pic» value=»Выбрать» /> <input type=»button» class=»clear-img» value=»Очистить» /> <br />’; if(!empty($pic_url)) echo ‘<img src=»‘. $pic_url. ‘» style=»max-width:200px; border: 1px solid #ccc;padding: 5px;box-shadow: 5px 5px 10px #ccc;margin-top: 10px;»> </td></tr>’; } echo ‘ <script type=»text/javascript»> jQuery(document).ready(function() { jQuery(«#tax_pic»).on(\’click\’, function() { tb_show(«», «media-upload.php?type=image&amp;TB_iframe=true»); return false; }); jQuery(«input.clear-img»).on(\’click\’, function() { jQuery(«input.tax_pic»).val( «» ); }); window.send_to_editor = function(html) { jQuery(«input.tax_pic»).val( jQuery(«img»,html).attr(«src») ); tb_remove(); } }); </script>’; }

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

publicfunctiontax_pic_edit($taxonomy){

wp_enqueue_style(‘thickbox’);

wp_enqueue_script(‘thickbox’);

wp_enqueue_script(‘media-upload’);


if(empty($taxonomy)){

echo'<div class=»form-field»>

<label for=»tax_pic»>Изображение</label> <input type=»text» name=»tax_pic» class=»tax_pic» value=»» /> <input type=»button» class=»select-img» id=»tax_pic» value=»Выбрать» />

</div>’;

}else{

$pic_url=get_term_meta($taxonomy->term_id,’pic’,true);

echo'<tr class=»form-field»>

<th scope=»row» valign=»top»><label for=»tax_pic»>Изображение</label></th>

<td><input type=»text» name=»tax_pic» class=»tax_pic» value=»‘.$pic_url.'» />

<input type=»button» class=»select-img» id=»tax_pic» value=»Выбрать» /> <input type=»button» class=»clear-img» value=»Очистить» />

<br />’;

if(!empty($pic_url))

echo'<img src=»‘.$pic_url.'» style=»max-width:200px;

border: 1px solid #ccc;padding: 5px;box-shadow: 5px 5px 10px #ccc;margin-top: 10px;»>

</td></tr>’;

}

echo’

<script type=»text/javascript»>

jQuery(document).ready(function(){

jQuery(«#tax_pic»).on(\’click\’,function(){

tb_show(«»,»media-upload.php?type=image&amp;TB_iframe=true»);

returnfalse;

});

jQuery(«input.clear-img»).on(\’click\’,function(){

jQuery(«input.tax_pic»).val(«»);

});

window.send_to_editor=function(html){

jQuery(«input.tax_pic»).val(jQuery(«img»,html).attr(«src»));

tb_remove();

}

});

</script>’;

}

Шаблон даёт три возможности:  ввод значения поля вручную (URL картинки), выбор адреса картинки или миниатюры из медиа-библиотеки, а также возможность очистить поле. Выбор URL из библиотеки сайта реализован через использование штатного диалога.

Reviews

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>lass=»plugin-reviews»>

5* for the plug-in 5* for support

I was very worried at first because it seemed too complex to me but the tutorials and documents on the site helped me a lot. It took me quite a while to build the search engine in the way I wanted but in the end, I was happy with the result. Definitely a very professional tool with lots of options and flexibility. Beyond that, I just want to thank the developers who are always willing to help, available and professional. I have answered almost all the questions, given solutions and felt that I was not alone

This a really GREAT plugin that can transform the way users can interact with site!

The plugin has many features and options, I didn’t need to use all of them in my project. Because of this, of the many possibilities of use, it is not a super simple plugin, but the author answers your questions if you you have them.

Определение

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

  1. Теория и практика группирующихся людей в разновидности, устраивая разновидности в более многочисленные группы, и давая те имена групп, таким образом производя классификацию;
  2. Область науки (и главный компонент систематики), который охватывает описание, идентификацию, номенклатуру и классификацию;
  3. Наука о классификации, в биологии расположение организмов в классификацию.
  4. «Наука о классификации в применении к живым организмам, включая исследование средств формирования разновидностей, и т.д.»
  5. «Анализ особенностей организма в целях классификации»
  6. « изучает филогению, чтобы обеспечить образец, который может быть переведен на классификацию и названия более содержащей области таксономии». (Перечисленный как желательное, но необычное определение)

Различные определения или таксономия места как подобласть систематики (определение 2), инвертируйте те отношения (определение 6) или, кажись, считать два условия синонимичными. Есть некоторое разногласие относительно того, считают ли биологическую номенклатуру частью таксономии (определения 1 и 2) или часть систематики вне таксономии. Например, последнее определение соединено со следующим определением систематики, которая помещает номенклатуру вне таксономии:

Систематика: «Исследование идентификации, таксономии и номенклатуры организмов, включая классификацию живых существ относительно их естественных отношений и исследования изменения и развития таксонов».

О таксономиях

Слово «Taxonomy» пришло к нам, как всегда, из греческого: — расположение, — закон, принцип. Т.е. Таксономия — это принцип расположения чего-либо. Для WordPress — это принцип расположения записей.

Образно, таксономии можно сравнить с папками на компьютере: куда складываются файлы. Заходим в папку, видим список файлов. В WordPress аналогично: заходим в таксономию (рубрику), видим список записей в ней.

Структура контента в WordPress очень простая: контент состоит из записей и таксономий, которые связывают эти записи — по сути, это все! К контенту также относятся комментарии и файлы, но и то и другое является частью записи… Есть еще пользователи, но это как бы и не контент, а отдельная сущность. Вот и получается, что таксономии связывают только записи.

Стоит обратить внимание, что в WordPress «Таксономия» — это только название, т.е. таксономии как таковой не существует — есть только запись о её существовании

А что-то реальное в таксономии — это её элементы. Например, возьмем таксономию «Рубрики» () — это только название — запись в переменной PHP, а реальные данные таксономии — это созданные рубрики — её элементы. Например, если не создавать ни одной рубрики, то условно можно сказать, что таксономии нет (она пуста) — в базе данных она нигде не записана, а существует лишь в переменных PHP, где указано название таксономии и её свойства (опции), причем создается такая переменная налету во время генерации страницы. Записи привязываются именно к элементам таксономии, а не к самой таксономии. Так как записи связаны не с таксономией, а с её элементами, то и вся последующая работа с таксономией — это работа с её элементами.

Элементы таксономии называются . Для краткости так и будем их называть — термины.

Changelog

3.2.0

  • 2020-07-06
  • Improve compatibility with WPML plugin.
  • Add function ‘customtaxorder_get_taxonomies()’ to remove duplicate code.
  • Be able to sort all taxonomies, public and non-public.
  • Use more esc_html functions.
  • Update About page.
  • Only load translations at the dashboard.
  • 2020-03-23
  • Add term_order field to edit screen of terms (thanks @li-an).
  • Add order button for slug (thanks @eric3d).
  • Only load admin functions at dashboard.
  • Remove included es_ES po file, it is maintained in GlotPress.

3.0.0

  • 2019-12-21
  • Always overwrite orderby according to our settings.
  • Add option to sort by slug.
  • Support new wp_initialize_site action for multisite.
  • Simplify checking for Link Manager plugin.
  • Small fixes found by the phan tool.

2.9.0

  • 2017-07-10
  • Drop support for attributes in WooCommerce (deprecated).
  • Use the correct number of parameters with add_filter calls.
  • Set default order in WP_Term_Query->get_terms() according to our settings (probably WP 4.9).

2.8.3

  • 2017-03-29
  • Add Nonce check to admin pages.
  • Register setting for taxonomies too, with callback function.
  • Run sanitize_text_field on the keyname in the option for customtaxorder_settings.

2.8.0

  • 2016-10-04
  • Remove global var, add function customtaxorder_get_settings().
  • Fix PHP notices in customtaxorder_apply_order_filter.

2.7.1

  • 2015-11-07
  • Explode() expects parameter to be a string, not an array.
  • Better dashicon.
  • Drop pot, nl_NL, they are maintained at GlotPress.

2.7.0

  • 2015-11-07
  • Offer page and functions to support the taxonomies themselves.
  • Support WooCommerce attributes.
  • Only support WordPress 3.7+, since they really are supported.
  • More specific CSS.
  • Add icon on admin pages.
  • Update pot, nl_NL.

2.6.6

  • 2015-09-05
  • Add filter for (not) sorting a tagcloud (thanks sunriseweb).
  • For sub-term, start counting at term_order of parent-term, so sorting looks reasonable.
  • “Order Alphabetically” button is no button-primary.
  • Change textdomain to slug.
  • Make admin_notices dismissible.
  • Add version to admin CSS.

2.5.3

  • 2014-08-06
  • New default settings page
  • Filter added for get_the_terms
  • Don’t filter tags at get_terms filtering
  • Updated nl_NL

2.2

  • 2013-10-20
  • do init stuff in the init function
  • also update term_order in term_relationships table
  • security update: validate input with $wpdb->prepare()

2.1

  • 2013-10-10
  • renamed/forked as Custom Taxonomy Order New Edition
  • fixed a bug with ordering in the backend
  • add localisation
  • add nl_NL lang

2.0

  • Complete code overhaul and general rewrite to bring things up to speed
  • Updated for WordPress 3.2 Admin Design
  • Added auto-sort query option
  • Several text fixes for overall consistency and clarity.
  • Various small bugfixes and optimizations

Теория


По умолчанию в WordPress существуют метаданные (метаполя): для записей (post), пользователей (user) и комментариев (comment). Такие данные хранятся в соответствующих таблицах базы данных: , ,  Структура всех таблиц однотипная (все таблицы имеют 4 поля: , , , ) и все они обрабатываются одними функциями:

  • add_metadata()
  • get_metadata()
  • update_metadata()
  • delete_metadata()

Обычно мы не используем эти функции напрямую, а используем их обертки:

  • update/add/delete/get_post_meta()

  • update/add/delete/get_user_meta()

  • update/add/delete/get_comment_meta()

Бывают ситуации, когда такие метаполя будут крайне полезны для таксономий, особенно это нужно, когда базовая функциональность движка расширяется дополнительными типами записей и таксономий. Представим, что мы хотим для каждой рубрики указать свою картинку, ссылку на такую картинку удобнее всего записывать в метаданные таксономии (рубрики). Или мы хотим создавать полноценный контент для рубрик, использовать поле «описание рубрики» не удобно, для этой цели, а метаполя подойдут идеально.

Психомоторная область

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

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

Психомоторная сфера охватывает сразу два отдела человеческой деятельности: мозговой и мышечный. Исследование литературы в данной области показывает, что рассматриваемая сфера образовательного процесса тесно связана с двумя другими. Но проявление этой связи, как и весь психомоторный уровень, изучено наиболее слабо.

Психомоторная сфера широко распространена в таких областях получения образования, как медицинские дисциплины, искусство и музыка, физическое воспитание, инженерные науки.

Новые педагогические таксономии

Современные разработки в области личностно-ориентированного обучения также используют таксономические построения.

Одно из них – целеполагание по А. В. Хуторскому – основателю эвристического обучения. Построение целей отражено в таблице.

Таксономическое построение целей по А.В. Хуторскому

Цели обучающихся

(таксономические категории)

Результаты деятельности

(таксоны)
Личностные Осознание значимости образования, вера в себя и свои возможности, реализация индивидуальных способностей.
Предметные Формирование положительного отношения к изучаемому предмету, знание понятий, терминов, явлений и законов, умение пользоваться простейшими техническими средствами, связанными с предметной областью, решение типовых и творческих задач по заданным темам.
Креативные Создание собственного продукта на основе освоенного, например, составление циклов задач, сочинений, создание картин или музыкальных композиций.
Когнитивные Изучение способов решения возникающих проблем, формирование навыков работы с первоисточниками, постановка экспериментов.
Оргдеятельностные Приобретение навыков самоорганизации в учебной работе, самостоятельное целеполагание, развитие навыков работы в группе, ведения дискуссий.

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

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

Заворачивать

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

Представленный здесь подход также можно использовать для создания еще более настраиваемого пользовательского интерфейса на страницах редактирования сообщений для выбора термина таксономии.

Я надеюсь, что вы нашли этот краткий учебник по определению эксклюзивных пользовательских таксономий полезным!


С этим читают