The edited_term WordPress PHP action fires after a term has been updated and the term cache has been cleaned. The edited_$taxonomy hook is also available for targeting a specific taxonomy.
Usage
add_action('edited_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: edited_term
Examples
Update the post count for a custom taxonomy
add_action('edited_term', 'update_custom_taxonomy_post_count', 10, 4);
function update_custom_taxonomy_post_count($term_id, $tt_id, $taxonomy, $args) {
if ('your_custom_taxonomy' === $taxonomy) {
// Get the term object
$term = get_term($term_id, $taxonomy);
// Update the post count for the custom taxonomy
update_field('post_count', $term->count, $term);
}
}
Log term updates for a specific taxonomy
add_action('edited_term', 'log_term_updates', 10, 4);
function log_term_updates($term_id, $tt_id, $taxonomy, $args) {
if ('your_specific_taxonomy' === $taxonomy) {
// Log the term updates
error_log("Term with ID: {$term_id} in taxonomy: {$taxonomy} has been updated.");
}
}
Send an email notification when a term is edited
add_action('edited_term', 'send_term_edited_email', 10, 4);
function send_term_edited_email($term_id, $tt_id, $taxonomy, $args) {
// Set email parameters
$to = '[email protected]';
$subject = "Term {$term_id} has been edited";
$message = "Term with ID: {$term_id} in taxonomy: {$taxonomy} has been updated.";
// Send an email notification
wp_mail($to, $subject, $message);
}
Add a custom field to a term when it’s edited
add_action('edited_term', 'add_custom_field_to_term', 10, 4);
function add_custom_field_to_term($term_id, $tt_id, $taxonomy, $args) {
// Add a custom field to the term
add_term_meta($term_id, 'custom_field_name', 'custom_field_value', true);
}
Update the term metadata when a term is edited
add_action('edited_term', 'update_term_metadata', 10, 4);
function update_term_metadata($term_id, $tt_id, $taxonomy, $args) {
// Get the current term metadata
$current_metadata = get_term_meta($term_id, 'metadata_key', true);
// Update the term metadata with new value
$new_metadata_value = 'new_value';
update_term_meta($term_id, 'metadata_key', $new_metadata_value, $current_metadata);
}