The registered_taxonomy WordPress PHP action fires after a taxonomy is registered.
Usage
add_action('registered_taxonomy', 'my_custom_function', 10, 3);
function my_custom_function($taxonomy, $object_type, $args) {
// Your custom code here
}
Parameters
- $taxonomy (string): Taxonomy slug.
- $object_type (array|string): Object type or array of object types.
- $args (array): Array of taxonomy registration arguments.
More information
See WordPress Developer Resources: registered_taxonomy
Examples
Display a message when a taxonomy is registered
Display a custom message in the WordPress admin when a taxonomy is registered.
add_action('registered_taxonomy', 'show_message_after_taxonomy_registered', 10, 3);
function show_message_after_taxonomy_registered($taxonomy, $object_type, $args) {
if (is_admin()) {
echo "The '{$taxonomy}' taxonomy was successfully registered.";
}
}
Add custom metadata to a registered taxonomy
Add a custom metadata field to the taxonomy term edit screen.
add_action('registered_taxonomy', 'add_custom_metadata_to_taxonomy', 10, 3);
function add_custom_metadata_to_taxonomy($taxonomy, $object_type, $args) {
add_term_meta($taxonomy, 'custom_meta_key', 'custom_meta_value');
}
Modify taxonomy arguments
Modify the taxonomy arguments after it is registered.
add_action('registered_taxonomy', 'modify_taxonomy_arguments', 10, 3);
function modify_taxonomy_arguments($taxonomy, $object_type, $args) {
$args['hierarchical'] = true;
register_taxonomy($taxonomy, $object_type, $args);
}
Log registered taxonomies
Log the registered taxonomies in a text file.
add_action('registered_taxonomy', 'log_registered_taxonomies', 10, 3);
function log_registered_taxonomies($taxonomy, $object_type, $args) {
$log_file = fopen("registered_taxonomies.log", "a");
$log_entry = "{$taxonomy} registered for object type(s): " . implode(', ', (array)$object_type) . "\n";
fwrite($log_file, $log_entry);
fclose($log_file);
}
Register custom post type for a specific taxonomy
Register a custom post type only for a specific taxonomy after it is registered.
add_action('registered_taxonomy', 'register_cpt_for_specific_taxonomy', 10, 3);
function register_cpt_for_specific_taxonomy($taxonomy, $object_type, $args) {
if ($taxonomy === 'my_specific_taxonomy') {
$cpt_args = array(
'label' => 'Custom Post Type for My Specific Taxonomy',
'public' => true,
'taxonomies' => array($taxonomy),
);
register_post_type('my_specific_cpt', $cpt_args);
}
}