Exciting News! Flipper Code is now WePlugins! Same commitment to excellence, brand new identity.

How to use registered_post_type action in WordPress

Sandeep Kumar Mishra
Sandeep Kumar Mishra
September 10, 2022
5 minutes read

registered_post_type action

Fires after a post type is registered.

To use registered_post_type action, first you have to register it using add_action. You can write this code into functions.php of your activated theme or in a custom WordPress Plugin.

We at WePlugins, always prefer to create a custom WordPress Plugin while using hooks so nothing breaks when you update your WordPress Theme in the future.

In the below live example, we have defined a function weplugins_execute_on_registered_post_type_event which takes 2 parameters and we registered using add_action. The first parameter registered_post_type is the name of the hook, The second parameter weplugins_execute_on_registered_post_type_event is the name of the function which needs to be called, the third parameter is the priority of calling the hook if the same hook is used multiple times and the last parameter is the number of arguments (if any) to be passed in the registered function.

Sometimes, you have to remove a registered hook so you can use remove_action to remove registered_post_type action.

Parameters

    Below are the 2 parameters required to use this hook.

  • $post_type : (string) Post type.
  • $post_type_object : (WP_Post_Type) Arguments used to register the post type.

Live Example

do_action( 'registered_post_type', string $post_type, WP_Post_Type $post_type_object )

Below is an example of how you can use this hook.

        function weplugins_execute_on_registered_post_type_event($post_type, $post_type_object) {
            // You can write code here to be executed when this action occurs in WordPress.
            // Use the parameters received in the function arguments & implement the required additional custom functionality according to your website requirements.
        }
        // add the action
        add_action( "registered_post_type", "weplugins_execute_on_registered_post_type_event" , 10, 2 );
    

Example 1: Logging Post Type Registration

This example logs the name of the registered post type for debugging purposes.

        function weplugins_log_post_type_registration($post_type, $post_type_object) {
            error_log('Post Type Registered: ' . $post_type);
        }
        add_action('registered_post_type', 'weplugins_log_post_type_registration', 10, 2);
    

Example 2: Custom Capabilities Assignment

This example assigns custom capabilities to the newly registered post type.

        function weplugins_assign_custom_capabilities($post_type, $post_type_object) {
            // Custom logic to assign capabilities
        }
        add_action('registered_post_type', 'weplugins_assign_custom_capabilities', 10, 2);
    

Example 3: Post Type Notification

This example sends an email notification when a new post type is registered.

        function weplugins_notify_post_type_registration($post_type, $post_type_object) {
            wp_mail('admin@example.com', 'New Post Type Registered', 'A new post type called ' . $post_type . ' has been registered.');
        }
        add_action('registered_post_type', 'weplugins_notify_post_type_registration', 10, 2);
    

To remove a hook callback, use the example below.

remove_action( "registered_post_type", "weplugins_execute_on_registered_post_type_event", 10, 2 );

Please make sure to provide the same callback function name, priority, and the number of arguments while removing the hook callback.

Access Premium WordPress Plugins

Contact Us

If you need any customization or assistance with this hook, please contact us.

Sandeep Kumar Mishra

Sandeep Kumar Mishra

Sandeep Kumar Mishra writes about WordPress and Artificial Intelligence, offering tips and guides to help you master your website and stay updated with the latest tech trends.

Explore the latest in WordPress

Trying to stay on top of it all? Get the best tools, resources and inspiration sent to your inbox every Wednesday.