Как указать значение по-умолчанию для произвольной таксономии в WordPress?

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


/*
 *  Добавляем код в functions.php
 */
function set_default_mytax_term( $post_id, $post ) {
  if ( 'publish' === $post->post_status && $post->post_type === 'post' ) {

    $terms = wp_get_post_terms( $post_id, 'mytax' );

    if ( empty( $terms ) ) {
      wp_set_object_terms( $post_id, 'default', 'mytax' );
    }

  }
}
add_action( 'save_post', 'set_default_mytax_term', 100, 2 );

Функция

set_default_mytax_term

срабатывает во время сохранения публикации.

Мы проверяем тип записи

post_type

и статус

post_status

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

Далее получаем значение вашей произвольной таксономии (в нашем случае это

mytax

) через функцию

wp_get_post_terms()

. Если возвращается пустой массив — значит нам нужно указать значение по-умолчанию с помощью функции

wp_set_object_terms()

, и это будет

default

.

На этом все.


admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

11 часов ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

11 часов ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

11 часов ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

11 часов ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

11 часов ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

11 часов ago