The edit_term_taxonomy WordPress PHP action fires immediately before a term-taxonomy relationship is updated.
Usage
add_action('edit_term_taxonomy', 'my_custom_function', 10, 3);
function my_custom_function($tt_id, $taxonomy, $args) {
// Your custom code here
return $tt_id;
}
Parameters
$tt_id(int) – Term taxonomy ID.$taxonomy(string) – Taxonomy slug.$args(array) – Arguments passed towp_update_term().
More information
See WordPress Developer Resources: edit_term_taxonomy
Examples
Log term updates
Log every term update in a custom log file.
add_action('edit_term_taxonomy', 'log_term_updates', 10, 3);
function log_term_updates($tt_id, $taxonomy, $args) {
$log_message = "Term taxonomy ID: {$tt_id}, Taxonomy: {$taxonomy}, Arguments: " . json_encode($args);
error_log($log_message, 3, "/var/log/term_updates.log");
}
Prevent updating specific taxonomy
Prevent updating terms in a custom taxonomy called ‘restricted_taxonomy’.
add_action('edit_term_taxonomy', 'prevent_updating_restricted_taxonomy', 10, 3);
function prevent_updating_restricted_taxonomy($tt_id, $taxonomy, $args) {
if ($taxonomy == 'restricted_taxonomy') {
wp_die('You cannot update this taxonomy.');
}
}
Add a prefix to term slug
Automatically add a prefix to the term slug of a specific taxonomy.
add_action('edit_term_taxonomy', 'add_prefix_to_term_slug', 10, 3);
function add_prefix_to_term_slug($tt_id, $taxonomy, $args) {
if ($taxonomy == 'my_taxonomy') {
$args['slug'] = 'my_prefix_' . $args['slug'];
wp_update_term($tt_id, $taxonomy, $args);
}
}
Update term description
Update the term description with a custom string.
add_action('edit_term_taxonomy', 'update_term_description', 10, 3);
function update_term_description($tt_id, $taxonomy, $args) {
$args['description'] = 'Custom description for term ID: ' . $tt_id;
wp_update_term($tt_id, $taxonomy, $args);
}
Make term a child of another term
Update a term to make it a child of another term in the same taxonomy.
add_action('edit_term_taxonomy', 'make_term_child', 10, 3);
function make_term_child($tt_id, $taxonomy, $args) {
$parent_term_id = 5;
$args['parent'] = $parent_term_id;
wp_update_term($tt_id, $taxonomy, $args);
}