Brings the site to its full programmatic page count : 24 EN + 24 FR pages
(48 total), all wired into the WPML CTE workflow established in the previous
commit. Each phase reuses tools/_av-bricks-shared.php builders, adds its own
filter('av_fr_translation_dict') to extend the FR dictionary, and ships a
seed-FR mu-plugin for the initial WPML trid linking.
## Phase 8 — Technology (tools/av-generate-technology.php + seed)
Hub /technology/ + 6 pillar pages (vr-hardware, software-ai, weapons-tracking,
scenarios, instructor-cockpit, after-action-review). Hub uses a 6-card grid
(3+3 layout — added card_count=6 case in av_build_cards_section).
EN : 87-93. FR : 94-100.
## Phase 9 — Editorial (tools/av-generate-editorial.php + seed)
5 top-level pages : /why-asterion/, /about/, /customers/, /trust/, /partners/.
Required adding empty-parent-path support to av_upsert_detail_page() so pages
can be created at the site root (no hub). EN : 107-111. FR : 112-116.
## Phase 10 — Forms (tools/av-generate-forms.php + seed)
4 conversion pages : /request-demo/, /request-te-kit/, /request-quote/,
/contact/. Custom page builder (not the shared detail-page pattern) :
hero + 2-column section (Bricks `form` element on left, promise list on
right) + optional shortcuts row (Contact), eligibility list (T&E Kit), FAQ
accordion (Demo). Form actions=email, emailTo=hello@asterionvr.com.
Field labels, select options, FAQ Q&A all in the FR dict.
EN : 122-125. FR : 126-129.
## Phase 11 — Home page (tools/av-generate-home.php + seed)
Custom-written single page (no data file). Sections : hero + 3-pillar cards
(Operational reality / Modular / Sovereign) + 4 Industries cards + 4
Solutions cards + 4-stat numbers band + Why-Asterion teaser CTA + Customers
teaser CTA + custom navy closer. Set as WP static front via
update_option(show_on_front=page, page_on_front=ID).
EN : 134. FR : 135.
## tools/_av-bricks-shared.php
- av_upsert_detail_page() now accepts empty `$parent_path` → top-level page
- av_build_cards_section() handles card_count=6 → 3-per-row layout
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tools
One-shot scripts and helpers used during project setup or migrations. They are NOT part of the published site.
fresh-setup-mu-plugin.php
Drop into wp-content/mu-plugins/ of a freshly created LocalWP site to auto-configure WordPress for the Asterion VR project. Read its inline header for the full procedure.
Quick recap :
- Delete the old LocalWP site (right-click → Delete site, optionally move folder to trash).
- Create a new LocalWP site named "Asterion 2026", mode
localhost, default credentials. - Note the allocated port — likely
10004again. If different, editAV_TARGET_HOMEinfresh-setup-mu-plugin.phpfirst. - Junction the child theme into the new site:
New-Item -ItemType Junction ` -Path "C:\Users\j_foucher\Local Sites\asterion-2026\app\public\wp-content\themes\asterion-bricks" ` -Target "C:\ASTERION\GIT\WP2026\wp-content\themes\asterion-bricks" - Extract the Bricks parent theme into
wp-content/themes/. Bricks is a theme (not a plugin) — installing the ZIP via WP admin → Plugins → Add New will fail with "No valid plugins were found".(Or via WP admin → Appearance → Themes → Add New Theme → Upload Theme.)$site = "C:\Users\j_foucher\Local Sites\asterion-2026\app\public\wp-content" Expand-Archive "C:\ASTERION\GIT\WP2026\ThirdParty\bricks.2.3.4.zip" "$site\themes\" -Force - Extract WPML plugin into
wp-content/plugins/:(Or via WP admin → Plugins → Add New → Upload Plugin.)Expand-Archive "C:\ASTERION\GIT\WP2026\ThirdParty\sitepress-multilingual-cms.4.9.3.zip" "$site\plugins\" -Force - Copy
tools/fresh-setup-mu-plugin.php→<NEW_SITE>\app\public\wp-content\mu-plugins\fresh-setup-mu-plugin.php - Visit
http://localhost:10004/once. The plugin runs atinitpriority 50, configures everything, and self-deletes after success. - Verify by hitting
http://localhost:10004/wp-admin— login, then check that:- Theme : Asterion Bricks active (parent: Bricks)
- Plugins : WPML active
- Settings → Permalinks : Post name (
/%postname%/) - Bricks → Settings → Builder access : Page + Post + case_study + scenario checked
Then activate the Bricks license (Bricks → License) and run the WPML setup wizard manually — those need your license keys and an interactive choice flow that's safer to do in admin.
av-apply-bricks-styles.php
One-shot mu-plugin that writes the full Asterion Theme Style to wp_options (bricks_theme_styles) AND fixes bricks_global_settings.postTypes to include page, post, case_study, scenario.
Why a mu-plugin : Bricks stores Theme Styles as serialized PHP in the DB (not in a file), so we need code that runs in the WP context. Mu-plugin URL trigger is the simplest path; LocalWP CLI PHP can't connect to the per-site MySQL socket without extra config.
Usage :
- Copy this file →
<LocalWP site>\app\public\wp-content\mu-plugins\av-apply-bricks-styles.php - Visit
http://localhost:10004/?av_apply_styles=1(logged in as admin) - A dark-themed report shows what was written.
- Reload the Bricks builder (Ctrl+R) → Theme Style "Asterion" applied to entire website.
Idempotent — re-running overwrites with the same payload. Edit the file then re-trigger to iterate.
Sets : General (site bg), Colors (11 semantic roles), Links (gold + underline), Typography (Inter, body 16px, h1-h6 sizes from tokens.css), Button (primary navy, secondary gold, padding scale), Section (5rem padding), Container (max 1280px), Focus outline.
av-dump-bricks.php
One-shot mu-plugin that exports the live bricks_theme_styles, bricks_color_palette, bricks_global_settings options to JSON files in Bricks Config/ for inspection or git-versioned snapshots.
Usage : drop into mu-plugins, visit ?av_dump_bricks=1 (admin), three JSONs appear in Bricks Config/.
What's missing — manual follow-up after fresh setup
- Bricks license key activation (Bricks → License)
- WPML setup wizard (WPML → Setup) : EN default + FR secondary, URL strategy = "Different languages in directories"
- Run
?av_apply_styles=1(see above) to push the Theme Style — replaces clicking through Bricks → Theme Styles. - Build the Header and Footer Bricks Templates (per RESTART-PLAN.md Phase 4)