Tag: social

  • Build Log 003 — Campaign Generator Working

    The No Signal Media backend campaign generator is now working as a real proof of concept.

    This build adds a private editorial system where one Campaign can generate multiple related Campaign Posts from a single AI request. The goal is to create structured media inventory, not auto-published filler. The system is designed for review first, publishing later.

    What was built:

    Created the Campaign custom post type.

    Created the Campaign Post custom post type.

    Added ACF fields for campaign setup:

    Subject

    Modifier Set

    Post Count

    Start Date

    Posting Rhythm

    Generation Status

    Batch ID

    Raw AI JSON

    Added ACF fields for generated campaign posts:

    Parent Campaign

    Post Order

    Scheduled Date

    Image Prompt

    Image URL

    Small Essay

    Social Caption

    Next Post Teaser

    Approval Status

    Source URL

    Added campaign-tools.php inside the child theme inc folder.

    Loaded campaign-tools.php safely from functions.php.

    Added a Campaign Posts review box to the Campaign edit screen.

    Added a local test generator that creates three test Campaign Posts without using OpenAI.

    Confirmed the backend relationship works:

    Campaign Posts attach to the correct parent Campaign.

    Posts sort by campaign order.

    Scheduled dates display cleanly.

    Approval status displays correctly.

    Added a real AI Campaign Generator button.

    Confirmed one OpenAI call can generate multiple structured Campaign Posts.

    Confirmed the raw AI response is saved to the Campaign for debugging and recovery.

    Added a Campaign Post Preview meta box so generated content can be reviewed without opening every post individually.

    First real AI generation test:

    Campaign:

    Modern Folk Revival: Beginner Learning Series

    Generated posts:

    What People Mean When They Say “Folk Revival”

    From Roots Music to Indie Folk

    Why Folk Songs Keep Returning to Place and Memory

    How Radio Kept the Revival Moving

    What the Modern Folk Revival Looks Like Now

    Result:

    The core backend workflow is proven.

    One Campaign can now create a scheduled batch of AI-generated Campaign Posts from one API call. The system keeps everything private and reviewable. Nothing is auto-published. This creates a safer editorial layer where AI can help generate structured drafts, but the site owner keeps control.

    Current status:

    Working MVP.

    Next logical steps:

    Add Approve / Reject controls to each Campaign Post.

    Add a “Create Public Posts” action for approved Campaign Posts.

    Add stronger prompt controls for tone, platform, length, visual style, and campaign type.

    Add optional cleanup controls for deleting test batches.

    Later, connect approved Campaign Posts to public posts, Learn content, social exports, ticker items, or radio scripts.

    Notes:

    This is an important architecture milestone. The Campaign is now the unit of generation, not the individual post. That keeps cost lower, improves sequence quality, and makes the system feel more editorial than random.