В 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.

На этом все.


Комментариев нет

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

*