docs(spec): record the 2026-07-04 hero-scope revision (Services-only)
This commit is contained in:
@@ -107,21 +107,12 @@ $showHero = in_array(
|
||||
The new `$showHero` is:
|
||||
|
||||
```php
|
||||
$showHero = in_array(
|
||||
true,
|
||||
array(
|
||||
isServicesDescendant() && get_field( 'hero_style' ) === 'default',
|
||||
is_home(),
|
||||
is_archive(),
|
||||
is_single(),
|
||||
is_search(),
|
||||
is_404(),
|
||||
),
|
||||
true
|
||||
);
|
||||
$showHero = isServicesDescendant() && get_field( 'hero_style' ) === 'default';
|
||||
```
|
||||
|
||||
The `is_home() / is_archive() / is_single() / is_search() / is_404()` conditions still gate the hero on those views, bypassing the Services check (so blog posts still get the inner-page layout they had before, single posts still get the dark hero from `page-hero.php`, etc.). The Services gate only applies to the `page` post type.
|
||||
The hero renders only on the Services page, its direct children, and its grandchildren — and only when the editor has set `hero_style` to `'default'`. The blog index, archives, single posts, search, and 404 views do **not** render the inner-page hero at all. Those views rely on their own templates (`front-page.php`, `single.php`, `search.php`, `404.php`, `archive.php`) for any visual treatment.
|
||||
|
||||
> **Note:** an earlier draft of this spec kept `is_home() / is_archive() / is_single() / is_search() / is_404()` in the bypass list so blog posts and single posts kept their old hero behavior. The user revised this on 2026-07-04 after seeing the live result: the Services hero treatment should not apply to any non-Services view. The change is captured in commits `2fb1d67` (header.php) and `ee9c9ce` (test update).
|
||||
|
||||
## ACF Field Group Changes
|
||||
|
||||
@@ -266,9 +257,8 @@ The Leaflet map pin (orange-01 + white) and the actual Leaflet embed code are no
|
||||
3. The Gravity Forms shortcode `[gravityform id="1" title="false"]` renders below the address items, with custom field styling: uppercase CWC Blue 01 labels, CWC Orange 01 right-aligned required asterisks, 30% opacity CWC Blue 03 input fills with CWC Blue 03 borders, slightly rounded corners, comfortable padding, a substantially taller message textarea, and a submit button matching the header's Contact button.
|
||||
4. The right column is a placeholder for the Leaflet map, fills 50% of the viewport width on desktop (edge to edge), and drops below the form on mobile.
|
||||
5. No hero is rendered on the contact page. There is a ~3rem top margin below the header and no page title above the body.
|
||||
6. The inner-page hero renders on the Services page, on its direct children, and on its grandchildren — and ONLY on those pages. Pages that have `hero_style = 'default'` but are not Services descendants lose their hero.
|
||||
7. Blog posts, archives, search, and 404 still render their existing heroes (the Services gate does not apply to those views).
|
||||
8. No new console errors, axe violations, or PHPCS errors.
|
||||
9. Existing pages (Services children/grandchildren with the inner-page hero, single posts, archives, search, 404) render unchanged.
|
||||
10. Existing tests (`mobile-homepage`, `site-a11y`, `inner-page`) continue to pass.
|
||||
11. The block is reusable: adding the `Contact Info` block to another page renders the same layout.
|
||||
6. The inner-page hero renders on the Services page, on its direct children, and on its grandchildren — and ONLY on those pages. Pages that have `hero_style = 'default'` but are not Services descendants lose their hero. The blog index, archives, single posts, search, and 404 also do **not** render the inner-page hero.
|
||||
7. No new console errors, axe violations, or PHPCS errors.
|
||||
8. Existing pages that are Services descendants render with the inner-page hero; all other pages (blog, archives, single posts, search, 404, non-Services `page` posts) render without it.
|
||||
9. Existing tests (`mobile-homepage`, `site-a11y`, `inner-page`) continue to pass.
|
||||
10. The block is reusable: adding the `Contact Info` block to another page renders the same layout.
|
||||
|
||||
Reference in New Issue
Block a user