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

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

  1. Intro quote block: Is this configurable per-page or hardcoded?
  2. Logo sourcing: Will client provide logos, or should we auto-generate from company name?
  3. Card click behavior: Entire card clickable, or just "Read more" link?
  4. 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

  1. ACF fields - Foundation for everything else
  2. Quote card partial - Reusable component for archive + module
  3. Archive template - Main page
  4. Module - Reusable "What Others Are Saying"
  5. 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)

  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

  2. Export Script - content-import/export-testimonials.php - Extracts testimonials from Home, Shipyard, Foundry, Living - Deduplicates by quote text - Tracks source pages

  3. Import Script - content-import/import-media-mentions.php - Creates media_mention posts from export JSON - Sets all ACF fields including source_pages relationship

  4. 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)

  5. Content - 22 media mentions imported - Original testimonials modules on pages remain intact


What's Left (Phase 2 - Design + Module)

  1. Design refinement - Style cards per mockup (waiting for design feedback)
  2. "What Others Are Saying" module - Reusable module to display media mentions - Pull from CPT or manual curation - Category/page filtering