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!
No comments yet.
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!
Thoroughly explained, thank you very much. This worked wonders for me!
Thanks a lot.. Working so nice!
Thanks, just what I needed to disable has_archive for a CPT added by the parent theme.