Files
AsterionWP2026/tools
j.foucher 918c000817 feat(insights): blog setup — hub page + Single Post template + 3 seed posts
Phase 12 (post-launch ready) — Insights blog scaffolding so the /insights/
menu link works and the user can start publishing.

Creates :
1. /insights/ hub page (#153) with hero + Bricks `posts` query-loop
   element + closer CTA. The posts element configured with :
   - query : post_type=post, posts_per_page=9, orderby=date DESC
   - layout=grid, columns=3, linkPost=true, imageDisable=true
   - fields : eyebrow "Insights", h3 post title, date, excerpt
   - _cssCustom for card styling (subtle bg, border, padding, flex column)
2. Single Post Bricks template (#154, template_type=single, conditions=
   singular post) : eyebrow + h1 {post_title} + date · author meta +
   featured image + post-content + closer CTA.
3. Three seed posts publication-ready :
   - the-10-to-15-gap (#155)
   - simulators-for-entertainment-vs-training (#156)
   - sovereign-by-default-gdpr-native (#157)
   Topics aligned with the brand : training gap reality, why
   entertainment-first simulators fail tactical training, GDPR-native
   sovereignty for security forces.

User adds more posts via WP Admin → Posts → Add New. The Bricks Single
template handles layout automatically (matches templateConditions).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 21:29:29 +02:00
..

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 :

  1. Delete the old LocalWP site (right-click → Delete site, optionally move folder to trash).
  2. Create a new LocalWP site named "Asterion 2026", mode localhost, default credentials.
  3. Note the allocated port — likely 10004 again. If different, edit AV_TARGET_HOME in fresh-setup-mu-plugin.php first.
  4. 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"
    
  5. 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".
    $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
    
    (Or via WP admin → Appearance → Themes → Add New Theme → Upload Theme.)
  6. Extract WPML plugin into wp-content/plugins/:
    Expand-Archive "C:\ASTERION\GIT\WP2026\ThirdParty\sitepress-multilingual-cms.4.9.3.zip" "$site\plugins\" -Force
    
    (Or via WP admin → Plugins → Add New → Upload Plugin.)
  7. Copy tools/fresh-setup-mu-plugin.php<NEW_SITE>\app\public\wp-content\mu-plugins\fresh-setup-mu-plugin.php
  8. Visit http://localhost:10004/ once. The plugin runs at init priority 50, configures everything, and self-deletes after success.
  9. 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 :

  1. Copy this file → <LocalWP site>\app\public\wp-content\mu-plugins\av-apply-bricks-styles.php
  2. Visit http://localhost:10004/?av_apply_styles=1 (logged in as admin)
  3. A dark-themed report shows what was written.
  4. 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)