Files
AsterionWP2026/wp-content/themes/asterion-bricks/templates/page-industries-overview.php
j.foucher eb4a13ec0f feat(industries): build 5-page Industries section
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>
2026-05-09 12:27:25 +02:00

84 lines
3.8 KiB
PHP

<?php
/**
* Template Name: Industries Overview
*
* Hub page /industries/ — lists the 4 industries as cards.
*
* @package AsterionBricks
*/
defined('ABSPATH') || exit;
get_header();
$home_url = home_url('/');
$industries = [
[
'eyebrow' => 'National & Municipal',
'title' => 'Police',
'excerpt' => 'Vehicle stops, identity checks, urban CQB, de-escalation, riot containment. Built for the realities of contemporary policing.',
'href' => '/industries/police/',
'gradient' => 'linear-gradient(135deg,#1F3252,#0B1F3A)',
],
[
'eyebrow' => 'Tactical units',
'title' => 'Special Forces',
'excerpt' => 'Hostage rescue, dynamic entries, hostile crowd extraction, sniper-spotter coordination. Built for the units where every error has a name.',
'href' => '/industries/special-forces/',
'gradient' => 'linear-gradient(135deg,#1F3252,#0B1F3A)',
],
[
'eyebrow' => 'Armed forces',
'title' => 'Military',
'excerpt' => 'MOUT, convoy escort, FOB defense, IED awareness, joint operation drills. Built for armed forces that deploy fast and adapt faster.',
'href' => '/industries/military/',
'gradient' => 'linear-gradient(135deg,#1F3252,#0B1F3A)',
],
[
'eyebrow' => 'Emergency services',
'title' => 'Firefighters',
'excerpt' => "Structure fires, hazmat, multi-casualty triage, confined-space rescue, industrial accidents. Built for first responders who can't rehearse the worst day at full scale.",
'href' => '/industries/firefighters/',
'gradient' => 'linear-gradient(135deg,#1F3252,#0B1F3A)',
],
];
?>
<section class="av-hero" aria-labelledby="industries-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 esc_html_e('Industries', 'asterion-bricks'); ?></p>
<h1 id="industries-headline" class="av-hero__headline">Built with operators, for operators.</h1>
<p class="av-hero__sub">
PROSERVE&trade; is not a generic VR platform repackaged for the public sector. Every scenario, every weapon profile, every instructor metric was specified by serving and former operators in close partnership with our engineering team.
</p>
</div>
</div>
</section>
<section class="av-section" data-av-reveal>
<div class="av-container">
<div class="av-grid-4" style="grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));">
<?php foreach ($industries as $i) : ?>
<article class="av-card">
<a href="<?php echo esc_url($home_url . ltrim($i['href'], '/')); ?>" class="av-card__media" aria-hidden="true" tabindex="-1" style="background:<?php echo esc_attr($i['gradient']); ?>;display:block;"></a>
<div class="av-card__body">
<span class="av-card__eyebrow"><?php echo esc_html($i['eyebrow']); ?></span>
<h2 class="av-card__title"><a href="<?php echo esc_url($home_url . ltrim($i['href'], '/')); ?>" style="color:inherit;text-decoration:none;"><?php echo esc_html($i['title']); ?></a></h2>
<p class="av-card__excerpt"><?php echo esc_html($i['excerpt']); ?></p>
<div class="av-card__cta">
<a href="<?php echo esc_url($home_url . ltrim($i['href'], '/')); ?>" class="av-link av-link--with-arrow"><?php echo esc_html($i['title']); ?> training</a>
</div>
</div>
</article>
<?php endforeach; ?>
</div>
</div>
</section>
<?php get_footer(); ?>