So you have 3 problems
Problem 1, custom taxonomy post type
Your first problem is a misunderstanding of what taxonomies and post types are. There is no such thing as a custom taxonomy post type. Taxonomies and post types are 2 different things.
Post types are posts/pieces of content of a certain type. E.g. post, page, attachment, etc
Taxonomies are ways to group/classify posts of a certain type, e.g. colour, size, location
Problem 2, Overriding and Child Themes
Child themes don't work the way you think they do, and neither does functions.php
. While yes, child theme templates are loaded instead of parent theme templates if they exist, but that's a templating thing, and only a templating thing.
functions.php
is a place you can put code, and make use of the WordPress API. Plugins are also a place you can put code and make use of the WordPress API. The two are functionally identical, they're just loaded at slightly different times.
So a themes functions.php
isn't special, it isn't a template, and it isn't overriden by a child theme
The codex says clearly:
Unlike style.css, the functions.php of a child theme does not override its counterpart from the parent. Instead, it is loaded in addition to the parent’s functions.php. (Specifically, it is loaded right before the parent’s file.)
So when you try to call register_post_type
, you're not overriding the parent theme, the parent theme hasn't been loaded! If the parent theme does something in its functions.php
, you need to attach a function to a hook that happens later on, which then undoes what the parent theme did. WordPress doesn't keep track of what did and didn't happen in the parent theme so that you can magically unwind it, that would be unrealistic, especially when you consider actions events and hooks that might have been added.
Problem 3, Data
You have a post type, and you have a dallas_practice_area_letter
taxonomy. You need to categorise all of these by city ( I assume all the Dallas practices are in Dallas? ) and your solution is to create a whole new post type and taxonomy under a new name for each city.
This won't scale, instead, register a new taxonomy called dallas_practice_area_city
, and use that to mark each practice as being in a particular city. This way you don't need a new post type every time a new city or region is added, you avoid a huge amount of pain dealing with queries, and you sidestep entirely the problem of practices being entered in the wrong city post type and having to be moved.