Using WordPress ‘created_{$taxonomy}’ PHP action

The created_{$taxonomy} WordPress PHP action fires after a new term in a specific taxonomy is created, and after the term cache has been cleaned. The dynamic portion of the hook name, $taxonomy, refers to the taxonomy slug.

Usage

add_action('created_{$taxonomy}', 'your_custom_function', 10, 3);

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

Parameters

  • $term_id (int): Term ID.
  • $tt_id (int): Term taxonomy ID.
  • $args (array): Arguments passed to wp_insert_term().

More information

See WordPress Developer Resources: created_{$taxonomy}

Examples

Update post count after a new category is created

This example updates the post count for a custom post type when a new category is created.

add_action('created_category', 'update_post_count', 10, 3);

function update_post_count($term_id, $tt_id, $args) {
    // Update post count for custom post type
    update_post_count('your_custom_post_type');
}

Send an email when a new post tag is created

This example sends an email to the administrator when a new post tag is created.

add_action('created_post_tag', 'email_on_new_post_tag', 10, 3);

function email_on_new_post_tag($term_id, $tt_id, $args) {
    $admin_email = get_option('admin_email');
    $subject = 'New Post Tag Created';
    $message = 'A new post tag has been created on your website.';
    wp_mail($admin_email, $subject, $message);
}

Log new term creation

This example logs the creation of new terms in a custom taxonomy called ‘book_genre’.

add_action('created_book_genre', 'log_new_term', 10, 3);

function log_new_term($term_id, $tt_id, $args) {
    $log_message = 'New term created with term ID: ' . $term_id . ' and taxonomy ID: ' . $tt_id;
    error_log($log_message);
}

Assign a parent term when a custom taxonomy term is created

This example assigns a parent term to newly created terms in a custom taxonomy called ‘product_type’.

add_action('created_product_type', 'assign_parent_term', 10, 3);

function assign_parent_term($term_id, $tt_id, $args) {
    $parent_term_id = 123; // The ID of the parent term
    wp_update_term($term_id, 'product_type', array('parent' => $parent_term_id));
}

Notify users when a new term is created in a custom taxonomy

This example sends an email to all users when a new term is created in a custom taxonomy called ‘event_type’.

add_action('created_event_type', 'notify_users_new_term', 10, 3);

function notify_users_new_term($term_id, $tt_id, $args) {
    $users = get_users();
    $subject = 'New Event Type Created';
    $message = 'A new event type has been created on the website.';
    foreach ($users as $user) {
        wp_mail($user->user_email, $subject, $message);
    }
}