Skip to Content
ReferenceWordPress action & filter hooks

WordPress action & filter hooks

A machine-readable reference of the Structura plugin’s public hooks is planned but not yet published. This page is a placeholder — once the generator is wired into CI, it’ll render here automatically from the hookdoc blocks in plugin/includes/.

In the meantime

If you need to integrate with Structura from PHP today:

  • Grep the plugin source for active hooks:
    grep -rn "do_action( 'structura/" plugin/includes/ grep -rn "apply_filters( 'structura/" plugin/includes/
  • Every call site has a preceding @since-stamped docblock describing the payload; see AGENTS.md §7 in the repo for the house style.
  • Hook names follow the pattern structura/{domain}/{event}, where actions are past tense (inserted, failed, scheduled) and filters are noun-shaped (context, payload, body).

Commonly-used hooks today

For quick reference, a handful of the most stable hooks:

  • structura/post/inserted — fires after a campaign run has inserted a post into WordPress and applied campaign metadata. Payload includes post_id, campaign_id, status, post_title, post_url, edit_url, published_at, locale.
  • structura/campaign/run_started — the scheduler began processing a campaign.
  • structura/campaign/run_completed — run finished (success or failure, see payload).
  • structura/channels/dispatch_succeeded / _failed — per-channel outcomes.

These signatures may still change before 1.0; pin to a plugin minor-version range if you’re shipping production code against them.

When this page will be useful

Once wired up, this page will include:

  • Every public hook with a description, @since version, and full parameter shape.
  • Searchable, grouped by domain (post, campaign, channels, scheduler, images, settings, license).
  • Generated from the same hookdoc blocks in source, so it stays in sync with the plugin.
Last updated on