The edited_terms WordPress PHP action fires immediately after a term is updated in the database, but before its term-taxonomy relationship is updated.
Usage
add_action('edited_terms', 'your_custom_function', 10, 3); function your_custom_function($term_id, $taxonomy, $args) { // Your custom code here return $term_id; }
Parameters
- $term_id (int): Term ID.
- $taxonomy (string): Taxonomy slug.
- $args (array): Arguments passed to
wp_update_term()
.
More information
See WordPress Developer Resources: edited_terms
Examples
Update term meta after term is edited
Update a custom term meta field after the term is updated in the database.
add_action('edited_terms', 'update_custom_term_meta', 10, 3); function update_custom_term_meta($term_id, $taxonomy, $args) { // Update custom term meta update_term_meta($term_id, 'custom_meta_key', 'custom_meta_value'); }
Log term changes
Log term changes to a custom log file when a term is updated.
add_action('edited_terms', 'log_term_changes', 10, 3); function log_term_changes($term_id, $taxonomy, $args) { // Log term changes to a custom log file error_log("Term ID {$term_id} in taxonomy {$taxonomy} has been updated."); }
Send email notification after term update
Send an email notification to the administrator when a term is updated.
add_action('edited_terms', 'send_term_update_email', 10, 3); function send_term_update_email($term_id, $taxonomy, $args) { // Send email notification $to = get_bloginfo('admin_email'); $subject = "Term {$term_id} updated in {$taxonomy}"; $message = "Term ID {$term_id} in taxonomy {$taxonomy} has been updated."; wp_mail($to, $subject, $message); }
Add prefix to term slug
Add a prefix to the term slug when a term is updated.
add_action('edited_terms', 'prefix_term_slug', 10, 3); function prefix_term_slug($term_id, $taxonomy, $args) { // Add prefix to term slug $term = get_term($term_id, $taxonomy); $new_slug = 'prefix-' . $term->slug; wp_update_term($term_id, $taxonomy, array('slug' => $new_slug)); }
Update post count for a custom taxonomy
Update the post count for a custom taxonomy when a term is updated.
add_action('edited_terms', 'update_custom_taxonomy_post_count', 10, 3); function update_custom_taxonomy_post_count($term_id, $taxonomy, $args) { // Update post count for custom taxonomy if ($taxonomy === 'custom_taxonomy') { $term = get_term($term_id, $taxonomy); $post_count = $term->count; update_term_meta($term_id, 'custom_taxonomy_post_count', $post_count); } }