created_(taxonomy)
Срабатывает после добавления термина (элемента таксономии).
На этом хуке, к примеру, удобно сохранять метаполя термина на странице создания термина.
Динамическая часть в имени хука $taxonomy — это имя (слаг) таксономии, с которой мы работаем.
Смотрите также идентичный хук created_term, в котором название таксономии передается в третьем параметре, в остальном хук работает также.
Использование
add_action( 'created_(taxonomy)', 'wp_kama_created_taxonomy_action', 10, 3 );
/**
* Function for `created_(taxonomy)` action-hook.
*
* @param int $term_id Term ID.
* @param int $tt_id Term taxonomy ID.
* @param array $args Arguments passed to wp_insert_term().
*
* @return void
*/
function wp_kama_created_taxonomy_action( $term_id, $tt_id, $args ){
// action...
}
- $term_id(число)
- ID термина (элемента таксономии).
- $tt_id(число)
- Уникальный идентификатор термина с учётом таксономии (в последних версиях WordPress равен ID термина, подробнее в "Таксономии в WordPress").
- $args(массив) (WP 6.1)
- Параметры передаваемые функции wp_insert_term().
Примеры
#1 Добавим произвольное поле в форму создания термина для таксономии (category)
add_action( 'category_add_form_fields', 'add_custom_form_field' );
// Добавим произвольное поле в форму создания термина
function add_custom_form_field( $term ) {
?>
<div class="form-field">
<label for="custom-field">
<?php _e( 'Custom field' ); ?>
</label>
<input id="custom-field" type="text" name="custom_field" value="<?php esc_attr_e( get_term_meta( $term->term_id, 'custom_field', true ) ) ?>">
<p><?php _e( 'Custom field description' ); ?></p>
</div>
<?php
}
add_action( 'created_category', 'save_custom_form_field' );
// Сохраним значение произвольно поля
function save_custom_form_field( $term_id ) {
if ( ! isset( $_POST['custom_field'] ) ) {
return;
}
if ( ! current_user_can( 'edit_term', $term_id ) ) {
return;
}
if ( ! wp_verify_nonce( $_POST['_wpnonce_add-tag'], 'add-tag' ) ) {
return;
}
update_term_meta( $term_id, 'custom_field', wp_unslash( $_POST['custom_field'] ) );
}
Список изменений
| С версии 2.3.0 | Введена. |
| С версии 6.1.0 | The $args parameter was added. |
Где вызывается хук
created_(taxonomy)
wp-includes/taxonomy.php 2747
do_action( "created_{$taxonomy}", $term_id, $tt_id, $args );