edited_(taxonomy)хук-событиеWP 2.3.0

Срабатывает после обновления термина (рубрики, элемента таксономии) и очистки его кеша.

Позволяет, например, создать/обновить метаполя термина на странице редактирования термина.

Смотрите также идентичный хук 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().

Примеры

0

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

Где вызывается хук

wp_update_term()
edited_(taxonomy)
wp-includes/taxonomy.php 3466
do_action( "edited_{$taxonomy}", $term_id, $tt_id, $args );

Где используется хук в WordPress

Использование не найдено.