Using WordPress ‘edit_term’ PHP action

The edit_term WordPress PHP action fires after a term has been updated, but before the term cache has been cleaned. The edit_$taxonomy hook is also available for targeting a specific taxonomy.

Usage

add_action('edit_term', 'your_custom_function', 10, 4);

function your_custom_function($term_id, $tt_id, $taxonomy, $args) {
    // your custom code here
}

Parameters

  • $term_id (int) – Term ID.
  • $tt_id (int) – Term taxonomy ID.
  • $taxonomy (string) – Taxonomy slug.
  • $args (array) – Arguments passed to wp_update_term().

More information

See WordPress Developer Resources: edit_term

Examples

Updating term meta on term edit

add_action('edit_term', 'update_term_meta_on_edit', 10, 4);

function update_term_meta_on_edit($term_id, $tt_id, $taxonomy, $args) {
    update_term_meta($term_id, 'custom_term_meta_key', 'custom_value');
}

Log term updates

add_action('edit_term', 'log_term_updates', 10, 4);

function log_term_updates($term_id, $tt_id, $taxonomy, $args) {
    error_log("Term ID {$term_id} in taxonomy {$taxonomy} has been updated.");
}

Send an email notification when a specific taxonomy term is updated

add_action('edit_term', 'send_email_on_taxonomy_term_update', 10, 4);

function send_email_on_taxonomy_term_update($term_id, $tt_id, $taxonomy, $args) {
    if ($taxonomy === 'custom_taxonomy') {
        // Send email notification
    }
}

Change term parent when updated

add_action('edit_term', 'change_term_parent_on_update', 10, 4);

function change_term_parent_on_update($term_id, $tt_id, $taxonomy, $args) {
    if ($taxonomy === 'category') {
        wp_update_term($term_id, $taxonomy, array('parent' => 3));
    }
}

Add a custom class to term on update

add_action('edit_term', 'add_custom_class_to_term_on_update', 10, 4);

function add_custom_class_to_term_on_update($term_id, $tt_id, $taxonomy, $args) {
    update_term_meta($term_id, 'custom_term_class', 'your-custom-class');
}