edited_(taxonomy)
Срабатывает после обновления термина (рубрики, элемента таксономии) и очистки его кеша.
Позволяет, например, создать/обновить метаполя термина на странице редактирования термина.
Смотрите также идентичный хук edited_term, в нем название таксономии передается в третьем параметре, в остальном хук работает также.
Возможные имена хука:
Динамическая часть (taxonomy) в имени хука — это название (слаг) таксономии с которой мы хотим работать. Так базовых таксономий WP этот хук выглядит так:
- edited_category — при редактировании рубрики.
- edited_post_tag — при редактировании метки.
- post_format — при редактировании формата записи.
- nav_menu — при редактировании меню навигации.
Использование
add_action( 'edited_(taxonomy)', 'wp_kama_edited_taxonomy_action', 10, 3 ); /** * Function for `edited_(taxonomy)` action-hook. * * @param int $term_id Term ID. * @param int $tt_id Term taxonomy ID. * @param array $args Arguments passed to wp_update_term(). * * @return void */ function wp_kama_edited_taxonomy_action( $term_id, $tt_id, $args ){ // action... }
- $term_id(число)
- ID термина.
- $tt_id(число)
- ID термина с учетом таксономии (внутренний параметр, в последних версиях ВП равен ID термина).
- $args(массив) (WP 6.1)
- Параметры передаваемые функции wp_update_term().
Примеры
#1 Сохраним произвольное поле после редактирования термина (рубрики)
<?php // Добавим произвольное поле в форму редактирования add_action( 'category_edit_form_fields', 'add_custom_form_field' ); function add_custom_form_field( $term ) { ?> <tr class="form-field"> <th scope="row" valign="top"><label><?php _e( 'Custom field' ); ?></label></th> <td> <input type="text" name="custom_field" value="<?php esc_attr_e( get_term_meta( $term->term_id, 'custom_field', true ) ) ?>"> </td> </tr> <?php } // Сохраним значение произвольно поля add_action( 'edited_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'], "update-tag_{$term_id}" ) && ! wp_verify_nonce( $_POST['_wpnonce_add-tag'], 'add-tag' ) ) { return; } update_term_meta( $term_id, 'custom_field', wp_unslash( $_POST['custom_field'] ) ); return $term_id; }
Список изменений
С версии 2.3.0 | Введена. |
С версии 6.1.0 | The $args parameter was added. |
Где вызывается хук
edited_(taxonomy)
wp-includes/taxonomy.php 3471
do_action( "edited_{$taxonomy}", $term_id, $tt_id, $args );