Как указать значение по-умолчанию для произвольной таксономии в 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

.

На этом все.


EnglishRussianUkrainian