In The Media - Planning Doc
Parent: Phase II Dev Hours: 5 hrs Status: Phase 1 Complete (Content Import + Basic Archive)
Design Reference
Mockups:
- Phase_2_mockups/In the Media.png - Full page layout
- Phase_2_mockups/In the media module.png - "What Others Are Saying" module
Existing Infrastructure
Media Mentions CPT (Already Built)
File: inc/post-types/media-mentions.php
| Setting | Value |
|---|---|
| Post Type | media_mention |
| Archive Slug | /in-the-media/ |
| Menu Label | "In the Media" |
| Supports | title, thumbnail, custom-fields |
| Single View | Redirects to external article_url |
Current State: - CPT registered and functional - No posts created yet - No ACF field group synced to JSON (may exist in DB only) - Archive template does not exist yet
ACF Fields Needed
Based on mockup, each media mention needs:
| Field | Type | Notes |
|---|---|---|
quote_text |
Textarea | The pull quote from the article |
source_name |
Text | Publication/company name (e.g., "UC Berkeley") |
source_logo |
Image | Logo of the publication/company |
author_name |
Text | Person quoted (optional) |
author_title |
Text | Person's title (optional) |
article_url |
URL | Link to original article (already referenced in CPT) |
Development Tasks
1. ACF Field Group for Media Mentions
- [ ] Create
group_media_mention.jsonwith fields above - [ ] Assign to
media_mentionpost type - [ ] Sync to acf-json folder
2. Archive Template (archive-media_mention.php)
From mockup: - Page title: "In the media" - Intro quote block at top (optional - may need ACF options field) - Grid of quote cards - Each card shows: quote, logo, author name/title - Click links to original article - "Next Page" pagination
Tasks:
- [ ] Create archive-media_mention.php template
- [ ] Intro section styling
- [ ] Quote card component (reusable partial)
- [ ] Grid layout (responsive)
- [ ] Pagination
- [ ] Empty state (if no posts)
3. "What Others Are Saying" Module
Purpose: Reusable ACF module to display media quotes anywhere on the site
From mockup: - Title: "What others are saying" - "See all" button → links to archive - 3-column grid of quote cards - Can pull from CPT OR manual entries
Tasks:
- [ ] Create group_module_what_others_are_saying.json
- [ ] Add to Page Modules flexible content
- [ ] Fields:
- title (Text, default "What others are saying")
- source_type (Radio: "From CPT" / "Manual")
- manual_quotes (Repeater, conditional)
- cpt_count (Number, default 3, conditional)
- see_all_link (URL or Page Link)
- [ ] Create inc/modules/page_modules/what_others_are_saying.php
- [ ] Quote card styling (match archive cards)
- [ ] Responsive 3-col → 1-col layout
Sample Content
From mockup, these companies/people are quoted:
| Source | Logo Visible |
|---|---|
| UC Berkeley | Yes |
| NAIA | Yes |
| Netgear | Yes |
| Serve Robotics | Yes |
Note: Will need logos uploaded to media library or provided by client.
Questions to Resolve
- Intro quote block: Is this configurable per-page or hardcoded?
- Logo sourcing: Will client provide logos, or should we auto-generate from company name?
- Card click behavior: Entire card clickable, or just "Read more" link?
- Module placement: Where will "What Others Are Saying" be used? (Home? About?)
Dependencies
| Dependency | Status |
|---|---|
| Mockups | Available |
| Sample quotes | Extract from mockup |
| Source logos | Need from client |
Archive URL /in-the-media/ |
CPT already registered |
Build Order
- ACF fields - Foundation for everything else
- Quote card partial - Reusable component for archive + module
- Archive template - Main page
- Module - Reusable "What Others Are Saying"
- Sample content - Populate with test data
Progress Tracker
| Task | Status |
|---|---|
| ACF field group | [x] acf-json/group_media_mention.json |
| Archive template | [x] archive-media_mention.php |
| Quote card partial | [x] Inline in archive (can extract later) |
| Pagination | [x] Working |
| Content import | [x] 22 testimonials imported from 4 pages |
| Module ACF | [ ] "What Others Are Saying" module |
| Module PHP | [ ] |
What's Done (Phase 1)
-
ACF Field Group -
acf-json/group_media_mention.json- quote_text, source_logo, source_name, source_title, article_title, author, date, article_url, link_text, source_pages -
Export Script -
content-import/export-testimonials.php- Extracts testimonials from Home, Shipyard, Foundry, Living - Deduplicates by quote text - Tracks source pages -
Import Script -
content-import/import-media-mentions.php- Creates media_mention posts from export JSON - Sets all ACF fields including source_pages relationship -
Archive Template -
archive-media_mention.php- Displays at/in-the-media/- 3-column responsive grid - 4 display variants (person, press, organization, simple) - Pagination (12 per page) -
Content - 22 media mentions imported - Original testimonials modules on pages remain intact
What's Left (Phase 2 - Design + Module)
- Design refinement - Style cards per mockup (waiting for design feedback)
- "What Others Are Saying" module - Reusable module to display media mentions - Pull from CPT or manual curation - Category/page filtering