Custom Post Type Structural Rules
| Item | Rule |
|---|---|
| Brands | Use for manufacturer, vendor, carrier, partner, or material-brand records. |
| Locations | Use for all location-specific entries. Keep location-level NAP/GBP data in Location Info. |
| Products | Use for product, material, or offering records. |
| Reviews | Use for structured proof content. Keep excluded from search. |
| Projects | Use for portfolio, install, or completed-work records. Use featured image for cards and Project Gallery for gallery content. |
| Team | Use post title for full name and featured image for headshot/profile image. |
| Content Types | Use for template logic, menus, and internal grouping. |
| Offering Categories | Use for cross-linking offerings across pages, brands, products, and projects. |
Field Group Assignment
| Field Group | Applies To |
|---|---|
| Business Info | Options Page: Business Info |
| Global Content | Options Page: Global Content |
| Landing Pages | Standard page field group; writing scope depends on the page type’s Fields Used value |
| Location Info | Locations CPT |
| Project Info | Projects CPT |
| Team Info | Team CPT |
Custom Post Types Base Set
| CPT Label | Singular Label | Slug | Purpose | Supports | Search Behavior | Archive Behavior | Taxonomies | Field Group |
|---|---|---|---|---|---|---|---|---|
| Brands | Brand | brand | Brand, manufacturer, vendor, or material-partner entries used for loops, archive-style sections, and individual brand pages | title, editor, thumbnail, custom-fields | searchable | no archive | offering-category | none |
| Locations | Location | location | Multi-location entries used for local landing pages, service area sections, location loops, and NAP/GBP targeting | title, editor, thumbnail, custom-fields | searchable | no archive | none | Location Info |
| Products | Product | product | Product, material, or offering entries used for product loops, selection pages, and related-content sections | title, editor, thumbnail, custom-fields | searchable | no archive | offering-category | none |
| Reviews | Review | review | Structured review entries used for review loops, featured proof blocks, and testimonial sections | title, editor, custom-fields | excluded from search | no archive | none | none |
| Projects | Project | project | Portfolio, install, completed-work, or gallery entries used for proof sections, project loops, and project detail pages | title, editor, thumbnail, custom-fields | searchable | no archive | offering-category | Project Info |
| Team | Team Member | team_member | Staff, rep, advisor, agent, or employee profile entries used for team loops, bio cards, and individual team pages | title, editor, thumbnail, custom-fields | searchable | no archive | none | Team Info |
Location Info Structural Rules
| Tab Section | Rule |
|---|---|
| Location Info | Location Info is for the Locations CPT only and should stay lean. |
| Location Info | Do not add brand-level assets like logos, social profiles, or general business identity fields here. |
| Location Info | Use the CPT title as the main location name; do not add a separate location-name field unless a future conflict requires it. |
| Location Info | Use the CPT featured image for the location image; do not add a duplicate custom image field unless a later template conflict requires it. |
| Google Profiles | Google profile fields should mirror the useful location-level subset of Business Info, not the full business-level framework. |
| Google Profiles | Keep the Get Reviews link because it is useful for GBP/review workflows. |
Location Info Field Set
| Tab Section | Canonical Field Label | Proposed ACF Field Name | Field Type | Initial Writing Specs | ACF Prep Specs | Allowed HTML | Messaging Direction / Purpose | Backend Instructions |
|---|---|---|---|---|---|---|---|---|
| Location Info | Location Phone Number | location_phone_number | Text | Verified location-specific NAP phone only | Text only, one line | None | Location-level display phone number | Enter the exact phone number used for this location’s NAP/GBP if it differs from the main business phone. |
| Location Info | Location Phone Number Link | location_phone_number_link | Text | Verified tel link format only | Text only, one line | None | Click-to-call location phone link | Enter the tel: version of the location phone number, for example tel:+15555555555. |
| Location Info | Location Address | location_address | WYSIWYG | Verified location NAP address only | WYSIWYG field | <p>, <br> | Location-level street address | Enter the full street address as shown on the website and Google Business Profile. |
| Location Info | Location Business Hours | location_business_hours | WYSIWYG | Verified location-specific hours only | WYSIWYG field | <p>, <br> | Location-level hours display | Enter the hours for this location only. Use line breaks for each day or day range. |
| Google Profiles | Google Maps Search Term | google_maps_search_term | Text | Verified map search query only | Text only, one line | None | Search query used for map buttons | Use a short query like Business Name + City + ST or the full address for this location. |
| Google Profiles | Google My Business Profile Share Link | google_my_business_profile_share_link | Text | Verified location-specific GBP share URL only | Text only, one line | None | Direct location GBP profile link | Paste the Share Profile link for this specific location’s Google Business Profile. |
| Google Profiles | Google My Business Get Reviews Link | google_my_business_get_reviews_link | Text | Verified Google review form URL only | Text only, one line | None | Direct location review-request link | Paste the Get More Reviews / Share Review Form link for this specific location. |
| Google Profiles | Google Maps Listing Link | google_maps_link | Text | Verified direct Google Maps location URL only | Text only, one line | None | Direct location Google Maps place URL | Paste the direct Google Maps listing link for this location if available. |
Project Info Field Set
| Tab Section | Field Label | ACF Field Name | Field Type | Backend Instructions |
|---|---|---|---|---|
| Project Info | Project Gallery | project_gallery | Gallery | Upload the project gallery images used for sliders, galleries, lightboxes, and proof sections on project entries. |
Team Info Field Set
| Tab Section | Field Label | ACF Field Name | Field Type | Backend Instructions |
|---|---|---|---|---|
| Team Info | Position | team_position | Text | Enter the team member’s role or title. |
| Team Info | Phone Number Display | team_phone_number_display | Text | Enter the public display format for the team member’s phone number. |
| Team Info | Phone Number Link | team_phone_number_link | Text | Enter the tel: version of the team member’s phone number. |
| Team Info | team_email | Text | Enter the team member’s email address. | |
| Team Info | Social Link | team_social_link | Text | Enter the full URL for the team member’s primary social or profile link. |