Implements the Industries hub + 4 detail pages (Police, Special Forces, Military, Firefighters) following the same data + partial + custom template pattern as Solutions. - inc/industries-data.php: 4 industries keyed by slug, copy verbatim from PDF Strategie & Contenu D.7-D.10. - template-parts/industry-detail.php: hero + section iterator + shared conversion banner. Hero differs from Solution's: eyebrow + tagline-as-H1 (no trademark concat), no upsell block. - templates/page-industry-detail.php: Custom Template assigned to the 4 child pages, looks up slug in industries-data. - templates/page-industries-overview.php: Hub /industries/ with 4 cards. 5 pages seeded by one-shot mu-plugin (asterion-seed-industries.php in LocalWP) and verified HTTP 200: /industries/ 55 KB /industries/police/ 63 KB /industries/special-forces/ 62 KB /industries/military/ 60 KB /industries/firefighters/ 60 KB Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
131 lines
6.0 KiB
PHP
131 lines
6.0 KiB
PHP
<?php
|
|
/**
|
|
* Asterion Bricks — Industry detail partial
|
|
*
|
|
* Renders one industry page (Police / Special Forces / Military / Firefighters)
|
|
* from data passed via `set_query_var('av_industry', $industry_data)`.
|
|
*
|
|
* Section types : prose | cards | list | cta (same as solution-detail).
|
|
*
|
|
* Hero differs from solution-detail : eyebrow + H1 (tagline) only — no
|
|
* trademark concat, no upsell block.
|
|
*
|
|
* @package AsterionBricks
|
|
*/
|
|
defined('ABSPATH') || exit;
|
|
|
|
$industry = get_query_var('av_industry');
|
|
if (! is_array($industry)) {
|
|
return;
|
|
}
|
|
|
|
$home_url = home_url('/');
|
|
?>
|
|
|
|
<!-- HERO -->
|
|
<section class="av-hero" aria-labelledby="industry-headline">
|
|
<div class="av-hero__media" aria-hidden="true">
|
|
<div style="width:100%;height:100%;background:
|
|
radial-gradient(ellipse at 50% 40%, rgba(11,31,58,0.4), transparent 65%),
|
|
linear-gradient(135deg, #081427 0%, #0B1F3A 50%, #1F3252 100%);"></div>
|
|
</div>
|
|
<div class="av-container">
|
|
<div class="av-hero__inner">
|
|
<p class="av-hero__eyebrow"><?php echo esc_html($industry['eyebrow']); ?></p>
|
|
<h1 id="industry-headline" class="av-hero__headline"><?php echo esc_html($industry['tagline']); ?></h1>
|
|
<p class="av-hero__sub"><?php echo esc_html($industry['hero_lead']); ?></p>
|
|
<div class="av-hero__ctas">
|
|
<?php foreach ($industry['ctas'] as $cta) :
|
|
$variant = ($cta['variant'] === 'primary') ? 'av-btn--primary' : 'av-btn--secondary av-btn--on-dark';
|
|
?>
|
|
<a href="<?php echo esc_url($home_url . ltrim($cta['href'], '/')); ?>" class="av-btn <?php echo esc_attr($variant); ?> av-btn--lg">
|
|
<?php echo esc_html($cta['label']); ?>
|
|
</a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- SECTIONS -->
|
|
<?php
|
|
foreach ($industry['sections'] as $idx => $section) :
|
|
$is_dark = ($idx % 2 === 1);
|
|
$section_class = 'av-section' . ($is_dark ? ' av-section--dark' : '');
|
|
?>
|
|
<section class="<?php echo esc_attr($section_class); ?>" data-av-reveal>
|
|
<div class="av-container">
|
|
<div class="av-section__head">
|
|
<span class="av-eyebrow<?php echo $is_dark ? ' av-eyebrow--gold' : ''; ?>"><?php echo esc_html($section['eyebrow']); ?></span>
|
|
<h2 class="av-section__title"><?php echo esc_html($section['title']); ?></h2>
|
|
<?php if (! empty($section['lead'])) : ?>
|
|
<p class="av-section__lead"><?php echo esc_html($section['lead']); ?></p>
|
|
<?php endif; ?>
|
|
</div>
|
|
|
|
<?php if ($section['type'] === 'prose' && ! empty($section['body'])) : ?>
|
|
<p class="av-section__lead" style="max-width:72ch;font-size:var(--text-body-lg);">
|
|
<?php echo esc_html($section['body']); ?>
|
|
</p>
|
|
|
|
<?php elseif ($section['type'] === 'cards' && ! empty($section['items'])) : ?>
|
|
<div class="av-grid-3">
|
|
<?php foreach ($section['items'] as $card) : ?>
|
|
<article class="av-card<?php echo $is_dark ? ' is-on-dark' : ''; ?> av-card--feature">
|
|
<div class="av-card__body">
|
|
<h3 class="av-card__title" style="font-size:var(--text-h4);"><?php echo esc_html($card['title']); ?></h3>
|
|
<p class="av-card__excerpt"><?php echo esc_html($card['body']); ?></p>
|
|
</div>
|
|
</article>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
|
|
<?php elseif ($section['type'] === 'list' && ! empty($section['items'])) : ?>
|
|
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3);max-width:72ch;font-size:var(--text-body-lg);line-height:var(--leading-body-lg);<?php echo $is_dark ? 'color:var(--color-text-on-dark-muted);' : 'color:var(--color-text-secondary);'; ?>">
|
|
<?php foreach ($section['items'] as $item) : ?>
|
|
<li style="padding-left:var(--space-6);position:relative;">
|
|
<span aria-hidden="true" style="position:absolute;left:0;top:0.6em;width:8px;height:8px;background:var(--color-brand-gold);border-radius:50%;"></span>
|
|
<?php echo esc_html($item); ?>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
<?php if (! empty($section['cta'])) : ?>
|
|
<p style="margin-top:var(--space-8);">
|
|
<a href="<?php echo esc_url($home_url . ltrim($section['cta']['href'], '/')); ?>" class="av-link<?php echo $is_dark ? ' av-link--on-dark' : ''; ?> av-link--with-arrow">
|
|
<?php echo esc_html($section['cta']['label']); ?>
|
|
</a>
|
|
</p>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
|
|
</div>
|
|
</section>
|
|
<?php endforeach; ?>
|
|
|
|
<!-- CONVERSION BANNER (shared) -->
|
|
<section class="av-conversion-banner">
|
|
<div class="av-container">
|
|
<div class="av-conversion-banner__head">
|
|
<h2 class="av-conversion-banner__title">Train like the threat is now.</h2>
|
|
<p class="av-conversion-banner__lead">Three paths into the platform — pick the one that fits where you are.</p>
|
|
</div>
|
|
<div class="av-conversion-banner__grid">
|
|
<div class="av-conversion-banner__card">
|
|
<h3 class="av-conversion-banner__card-title">Request a Demo</h3>
|
|
<p class="av-conversion-banner__card-desc">A 30-minute tailored session with our team.</p>
|
|
<a href="<?php echo esc_url($home_url . 'request-demo/'); ?>" class="av-btn av-btn--primary av-btn--md">Schedule a demo</a>
|
|
</div>
|
|
<div class="av-conversion-banner__card">
|
|
<h3 class="av-conversion-banner__card-title">Request a T&E Kit</h3>
|
|
<p class="av-conversion-banner__card-desc">A PROSERVE case on loan at your facility for 5 to 10 days.</p>
|
|
<a href="<?php echo esc_url($home_url . 'request-te-kit/'); ?>" class="av-btn av-btn--on-dark av-btn--secondary av-btn--md">Request the kit</a>
|
|
</div>
|
|
<div class="av-conversion-banner__card">
|
|
<h3 class="av-conversion-banner__card-title">Request a Quote</h3>
|
|
<p class="av-conversion-banner__card-desc">A detailed quote and deployment plan within 5 working days.</p>
|
|
<a href="<?php echo esc_url($home_url . 'request-quote/'); ?>" class="av-btn av-btn--on-dark av-btn--secondary av-btn--md">Get a quote</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|