The created_term WordPress PHP action fires after a new term is created and after the term cache has been cleaned. The ‘created_$taxonomy’ hook can be used for targeting a specific taxonomy.
Usage
add_action('created_term', 'your_custom_function', 10, 4);
function your_custom_function($term_id, $tt_id, $taxonomy, $args) {
// your custom code here
return $term_id;
}
Parameters
$term_id(int) – Term ID.$tt_id(int) – Term taxonomy ID.$taxonomy(string) – Taxonomy slug.$args(array) – Arguments passed towp_insert_term(). Includesalias_of,description,parent, andslug.
More information
See WordPress Developer Resources: created_term
Examples
Send an email notification after a new term is created
Send an email notification to the site administrator after a new term is created in the ‘category’ taxonomy.
add_action('created_category', 'send_email_on_new_term', 10, 4);
function send_email_on_new_term($term_id, $tt_id, $taxonomy, $args) {
$term = get_term($term_id, $taxonomy);
$subject = 'New Term Created: ' . $term->name;
$message = 'A new term was created: ' . $term->name . ' (' . $taxonomy . ')';
wp_mail(get_bloginfo('admin_email'), $subject, $message);
}
Log new terms in a custom log file
Log new term creation in a custom log file, including term ID, term taxonomy ID, taxonomy slug, and term name.
add_action('created_term', 'log_new_terms', 10, 4);
function log_new_terms($term_id, $tt_id, $taxonomy, $args) {
$term = get_term($term_id, $taxonomy);
$log_entry = "Term ID: {$term_id}, Term Taxonomy ID: {$tt_id}, Taxonomy: {$taxonomy}, Term Name: {$term->name}\n";
error_log($log_entry, 3, WP_CONTENT_DIR . '/new_terms.log');
}
Assign a default parent term to new terms
Automatically assign a default parent term for new terms in the ‘category’ taxonomy.
add_action('created_category', 'set_default_parent_term', 10, 4);
function set_default_parent_term($term_id, $tt_id, $taxonomy, $args) {
$default_parent_term_id = 5;
if (!$args['parent']) {
wp_update_term($term_id, $taxonomy, array('parent' => $default_parent_term_id));
}
}
Redirect to term editing page after creating a new term
Redirect the user to the term editing page after creating a new term in the ‘category’ taxonomy.
add_action('created_category', 'redirect_to_term_edit_page', 10, 4);
function redirect_to_term_edit_page($term_id, $tt_id, $taxonomy, $args) {
$term_edit_url = get_edit_term_link($term_id, $taxonomy);
wp_redirect($term_edit_url);
exit;
}
Add a custom field to new terms
Automatically add a custom field named ‘color’ with a default value ‘blue’ to new terms in the ‘category’ taxonomy.
add_action('created_category', 'add_custom_field_to_new_term', 10, 4);
function add_custom_field_to_new_term($term_id, $tt_id, $taxonomy, $args) {
$default_color = 'blue';
add_term_meta($term_id, 'color', $default_color, true);
}