Изменяет элемент таксономии.
Функция возвращает:
term_id
и term_taxonomy_id
.wp_update_term( $term_id, $taxonomy, $args = array() )
name
– имя,slug
– ярлык,term_group
– значение term_group,description
– описание,parent
– ID родительского термина.term_group
– это отдельная колонка в таблице wp_terms
в БД, наряду с term_id
, name
и slug
. Было задумано для группировки терминов, но по факту так и не используется. Однако некоторые плагины юзают это значение.
В качестве примера можем попробовать обновить название стандартной рубрики «Без категории». Так как это самая первая рубрика на сайте, то её ID будет равен 1, так как это рубрика, то название таксономии будет category
.
$term = wp_update_term( 1, 'category', array( 'name' => 'С категорией' ) ); if( ! is_wp_error( $term ) ) { echo 'Рубрика обновлена.'; } else { echo $term->get_error_message(); }
Будет запущен непосредственно перед тем, как элемент таксономии будет изменён.
С версии 2.9.0
do_action( 'edit_terms', $term_id, $taxonomy );
Позволяет модифицировать все изменяемые данные термина перед непосредственно его изменением.
С версии 4.7.0
$data = apply_filters( 'wp_update_term_data', $data, $term_id, $taxonomy, $args );
Хочу рассмотреть подобный пример для хука wp_update_term_data
. Сделаем так, что переименовывая термин в «Лыжи», он автоматически будет переименовываться в «Сноуборд».
add_filter( 'wp_update_term_data', 'true_filter_term_name_before_upd', 25, 4 ); function true_filter_term_name_before_upd( $data, $term_id, $taxonomy, $args ) { if( 'Лыжи' === $data[ 'name' ] ) { $data[ 'name' ] = 'Сноуборд'; } return $data; }
Не знаете, как работать с фильтрами?
Запускается непосредственно после того, как таблица терминов wp_terms
обновлена, но перед тем, как таблица таксономий wp_term_taxonomy
обновлена.
С версии 2.9.0
do_action( 'edited_terms', $term_id, $taxonomy );
Запускается непосредственно после того, как таблица терминов wp_terms
обновлена, но перед тем, как таблица таксономий wp_term_taxonomy
обновлена.
С версии 2.9.0
do_action( 'edit_term_taxonomy', $tt_id, $taxonomy );
Запускается непосредственно после того, как таблица таксономий термина wp_term_taxonomy
обновлена.
С версии 2.9.0
do_action( 'edited_term_taxonomy', $tt_id, $taxonomy );
Запускается после того, как термин был полностью обновлен, но перед очисткой кэша.
С версии 2.3.0
do_action( 'edit_term', $term_id, $tt_id, $taxonomy )
Запускается после того, как термин был полностью обновлен, но перед очисткой кэша.
С версии 2.3.0
do_action( "edit_{$taxonomy}", $term_id, $tt_id );
Позволяет модифицировать ID созданного термина, который уже будет использоваться при очистке кэша и во всех последующих хуках.
С версии 2.3.0
$term_id = apply_filters( 'term_id_filter', $term_id, $tt_id );
Срабатывает после обновления термина в базе данных и после очистки кэша.
С версии 2.3.0
do_action( 'edited_term', $term_id, $tt_id, $taxonomy );
Срабатывает после обновления термина в базе данных и после очистки кэша.
С версии 2.3.0
do_action( "edited_{$taxonomy}", $term_id, $tt_id );
Срабатывает после добавления термина в базу данных и после очистки кэша.
С версии 5.5.0
do_action( 'saved_term', $term_id, $tt_id, $taxonomy, true );
Четвёртый параметр true
в данном случае означает, что мы обновляем уже существующий термин. Этот же хук присутствует и в функции wp_insert_term(), и там четвёртый параметр уже равен false
– то есть мы добавляем новый элемент таксономии.
Срабатывает после добавления термина в базу данных и после очистки кэша.
С версии 5.5.0
do_action( "saved_{$taxonomy}", $term_id, $tt_id, true );
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.