Building a Data Intensive Website with WordPress

First, what you don’t want to do is create a post type per state, in fact you want your states to be associated with a taxonomy (one taxonomy called locations with each state being a term that belongs to that taxonomy).

Therefore…

In this scenario I would create a post type named dealer or companies (if the type of businesses in your directory are non-specific as your tags suggest then name your post type something similar to companies so it makes sense as to what the post type is).

I would then create two taxonomies named location (for state based locations) and company type.

Then you using your companies post type you can create new companies and assign taxonomy terms for both their location and type.

I would then attach custom fields to the companies post type (using a custom meta box) for other meta data that applies to the specific company being create such as street address, zipcode, phone number, website url or any other pertinent details you think are relevant to your needs.

You can then use custom taxonomy and post meta queries (via the use of WP_Query) to search through your company post type and all of the associated data (taxonomy terms/custom fields).

The links you need to read up on are as follows: