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!