Filter and modify a Custom Post Type – after it’s been registered

Today I was tasked with adding functionality to an existing custom post type. The problem was, the CPT was being registered in a plugin which I could not edit (client declined to give WDS write access to the /plugins folder).

After some digging, I found there’s a filter for that (found in post.php) which allows you to modify a custom post type (after it’s been registered some other way) and could do so in the theme.

apply_filters( 'register_post_type_args', $args, $post_type );

Hooking into that filter, allowed me to pass additional options to an existing CPT:

Now “Products” has an archive, along with some other meta boxes in the post editor. Nice!

Author: Greg Rickaby

Greg is Lead Front-End Developer at WebDevStudios and author of a children’s book titled, Creating a Website: Design and Build Your First Site!.

4 thoughts on “Filter and modify a Custom Post Type – after it’s been registered”

  1. Nice post and exactly what i was looking for! I have the same problem: a CPT registered by a plugin doesnt have tags, categories and a text field. I dont want a developer to modify the plugin because its constantly updating. Now i see that this would rather be a “simple” addition to the (child) theme. Thx!

Leave a Reply