• Skip to primary navigation
  • Skip to main content

Artifex Routing Co

  • Plugins
  • Docs
  • Guides
  • Support
  • About
  • My Account
Manifyst mark Manifyst By Artifex Routing Co
OVERVIEW COMPARE FEATURES DEMO DOCS PRICING FAQ GET LICENSE
  • Does deleting the plugin delete my signups?
  • Where do I put the Manifyst shortcodes?
  • Activity Log and Stock History
  • Adding Time Slots
  • Asking Extra Questions
  • Creating an Event
  • Displaying Events on Your Site
  • Email Notifications
  • Front-End Management for Coordinators
  • Getting Started with Manifyst
  • Installing Manifyst
  • Managing Signups
  • Potlucks and Items to Bring
  • Recurring Events
  • Updating Manifyst
  • Waitlists and Cancellations
  • Which Event Starting Point Should I Choose?
  • An event’s own page shows a 404
  • Reminder emails aren’t sending
  • Signup confirmation emails aren’t arriving
  • Using Manifyst with caching plugins
  • What should I send Manifyst support?
  • Why can’t I reduce or delete a slot?
  • Manifyst on multilingual sites
  • Manifyst roles and capabilities
  • Manifyst shortcode reference
  • Personal data, exports, and erasure requests
  • Using Manifyst with page builders
  • What does activating my license do?
  • Where do I add my Manifyst license key?
  • Where do I find my Manifyst license key?
  • Manifyst Hooks Reference
  • Do people need a WordPress account to sign up?
  • How do I export the signup list?
  • How do I stop one person taking every slot?
  • How do password-protected events work?
  • How does someone cancel their signup?
  • What happens when a slot fills up?
  • Manifyst 2.1.0
  • Manifyst 2.0.1
  • Manifyst Changelog
View Categories
  • Home
  • Docs
  • Manifyst
  • Developer Reference
  • Manifyst Hooks Reference

Manifyst Hooks Reference

9 min read

0:00 / 11:14
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)

Actions and filters available to developers extending Manifyst. This reference is generated from the plugin source on each release.

Actions (24) #

  • manifyst_activate
  • manifyst_after_delete_event
  • manifyst_after_delete_item
  • manifyst_after_delete_slot
  • manifyst_before_delete_event
  • manifyst_before_delete_signup
  • manifyst_before_delete_slot
  • manifyst_console_render_ledger
  • manifyst_deactivate
  • manifyst_email_sent
  • manifyst_event_created
  • manifyst_event_duplicated
  • manifyst_event_updated
  • manifyst_item_created
  • manifyst_item_updated
  • manifyst_loaded
  • manifyst_migrations_complete
  • manifyst_reminders_processed
  • manifyst_signup_cancelled
  • manifyst_signup_created
  • manifyst_signup_promoted
  • manifyst_signup_updated
  • manifyst_slot_created
  • manifyst_slot_updated

manifyst_activate #

do_action( 'manifyst_activate' )

Fires when the plugin is activated.

Source: Manifyst/src/Plugin.php

manifyst_after_delete_event #

do_action( 'manifyst_after_delete_event', int $id )

Fires after an event is deleted.

  • $id (int) — The deleted event ID.

Source: Manifyst/src/Events/EventService.php

manifyst_after_delete_item #

do_action( 'manifyst_after_delete_item', int $id )

Fires after an item is deleted.

  • $id (int) — Deleted item ID.

Source: Manifyst/src/Items/ItemService.php

manifyst_after_delete_slot #

do_action( 'manifyst_after_delete_slot', int $id )

Fires after a slot is deleted.

  • $id (int) — The deleted slot ID.

Source: Manifyst/src/Slots/SlotService.php

manifyst_before_delete_event #

do_action( 'manifyst_before_delete_event', \Event $event )

Fires before an event is deleted.

  • $event (\Event) — The event being deleted.

Source: Manifyst/src/Events/EventService.php

manifyst_before_delete_signup #

do_action( 'manifyst_before_delete_signup', \Signup $signup )

Fires before a signup is deleted.

  • $signup (\Signup) — The signup being deleted.

Source: Manifyst/src/Signups/SignupService.php

manifyst_before_delete_slot #

do_action( 'manifyst_before_delete_slot', \Slot $slot )

Fires before a slot is deleted.

  • $slot (\Slot) — The slot being deleted.

Source: Manifyst/src/Slots/SlotService.php

manifyst_console_render_ledger #

do_action( 'manifyst_console_render_ledger' )

Render the Stock Ledger audit screen inline. It re-checks the capability itself, so this stays safe even if the nav is filtered open.

Source: Manifyst/views/manage/console.php

manifyst_deactivate #

do_action( 'manifyst_deactivate' )

Fires when the plugin is deactivated.

Source: Manifyst/src/Plugin.php

manifyst_email_sent #

do_action( 'manifyst_email_sent', bool $sent, string $to, string $subject, array<string,mixed> $data )

Action after email is sent.

  • $sent (bool) — Whether email was sent.
  • $to (string) — Recipient email.
  • $subject (string) — Email subject.
  • $data (array<string,mixed>) — Email data.

Source: Manifyst/src/Email/EmailService.php

manifyst_event_created #

do_action( 'manifyst_event_created', \Event $event )

Fires after an event is created.

  • $event (\Event) — The new event.

Source: Manifyst/src/Events/EventService.php

manifyst_event_duplicated #

do_action( 'manifyst_event_duplicated', \Event $event, \Event $source, string $context )

Fires after an event is duplicated or materialized from a series.

The seam category inheritance (and other relationship data) rides on.

  • $event (\Event) — The new clone.
  • $source (\Event) — The source event.
  • $context (string) — ‘duplicate’ or ‘occurrence’.

Source: Manifyst/src/Events/EventDuplicator.php

manifyst_event_updated #

do_action( 'manifyst_event_updated', \Event $updated, \Event $previous )

Fires after an event is updated.

  • $updated (\Event) — The updated event.
  • $previous (\Event) — The event as it was before the update.

Source: Manifyst/src/Events/EventService.php

manifyst_item_created #

do_action( 'manifyst_item_created', \Item $item )

Fires after an item is created.

  • $item (\Item) — The new item.

Source: Manifyst/src/Items/ItemService.php

manifyst_item_updated #

do_action( 'manifyst_item_updated', \Item $updated, \Item $previous )

Fires after an item is updated.

  • $updated (\Item) — The item after the update.
  • $previous (\Item) — The item before the update.

Source: Manifyst/src/Items/ItemService.php

manifyst_loaded #

do_action( 'manifyst_loaded' )

Fires when the plugin has completed bootstrapping.

Source: Manifyst/src/Plugin.php

manifyst_migrations_complete #

do_action( 'manifyst_migrations_complete', string $version )

Fires after migrations have run.

  • $version (string) — The new database version.

Source: Manifyst/src/Database/Migrations/MigrationRunner.php

manifyst_reminders_processed #

do_action( 'manifyst_reminders_processed', int $reminder_hours )

Action after scheduled reminders are processed.

  • $reminder_hours (int) — Hours before event to send reminders.

Source: Manifyst/src/Email/EmailService.php

manifyst_signup_cancelled #

do_action( 'manifyst_signup_cancelled', \Signup $cancelled, \Event|null $event, bool $suppress_notifications )

Fires after a signup is cancelled and the transaction has committed.

Waitlist-promotion notifications are never suppressed — only the cancellation confirmation to the cancelled person is.

  • $cancelled (\Signup) — The cancelled signup.
  • $event (\Event|null) — The event.
  • $suppress_notifications (bool) — Whether to skip the cancellation email.

Source: Manifyst/src/Signups/SignupService.php

manifyst_signup_created #

do_action( 'manifyst_signup_created', \Signup $signup, \Event $event, \Slot|null $slot )

Fires after a signup is created and the transaction has committed.

  • $signup (\Signup) — The new signup.
  • $event (\Event) — The event.
  • $slot (\Slot|null) — The slot (null for item-only signups).

Source: Manifyst/src/Signups/SignupService.php

manifyst_signup_promoted #

do_action( 'manifyst_signup_promoted', \Signup $promoted_signup, \Event|null $event )

Fires after a waitlisted signup is promoted to confirmed.

  • $promoted_signup (\Signup) — The promoted signup.
  • $event (\Event|null) — The event.

Source: Manifyst/src/Signups/SignupService.php

manifyst_signup_updated #

do_action( 'manifyst_signup_updated', \Signup $updated, \Signup $previous, \Event|null $event )

Fires after a signup is updated by an admin and the transaction has committed.

  • $updated (\Signup) — The updated signup.
  • $previous (\Signup) — The signup before the update.
  • $event (\Event|null) — The event.

Source: Manifyst/src/Signups/SignupService.php

manifyst_slot_created #

do_action( 'manifyst_slot_created', \Slot $slot )

Fires after a slot is created.

  • $slot (\Slot) — The created slot.

Source: Manifyst/src/Slots/SlotService.php

manifyst_slot_updated #

do_action( 'manifyst_slot_updated', \Slot $updated, \Slot $previous )

Fires after a slot is updated.

  • $updated (\Slot) — The slot after the update.
  • $previous (\Slot) — The slot before the update.

Source: Manifyst/src/Slots/SlotService.php

Filters (23) #

  • artifex_license_store_url
  • manifyst_activity_logging_enabled
  • manifyst_capability_roles
  • manifyst_console_nav_items
  • manifyst_doc_article_url
  • manifyst_email_body
  • manifyst_email_placeholders
  • manifyst_load_admin_assets
  • manifyst_load_console_assets
  • manifyst_load_frontend_assets
  • manifyst_max_custom_fields
  • manifyst_my_signups_limit
  • manifyst_recurrence_max_occurrences
  • manifyst_reserved_custom_data_keys
  • manifyst_rest_event_data
  • manifyst_rest_rate_limit
  • manifyst_rest_signup_data
  • manifyst_rest_slot_data
  • manifyst_series_horizon
  • manifyst_series_max_per_run
  • manifyst_series_sync_max
  • manifyst_show_credit
  • manifyst_wp_role_grants

artifex_license_store_url #

apply_filters( 'artifex_license_store_url', string $url, string $slug )

Filters the EDD licensing endpoint.

  • $url (string) — Store URL.
  • $slug (string) — Plugin slug.

Source: Manifyst/src/Admin/SDK_License.php

manifyst_activity_logging_enabled #

apply_filters( 'manifyst_activity_logging_enabled', bool $enabled, string $object_type, string $action )

Filter whether activity logging is enabled.

Return false to skip writing audit entries entirely.

  • $enabled (bool) — Whether logging is enabled.
  • $object_type (string) — The object type being logged.
  • $action (string) — The action being logged.

Source: Manifyst/src/Activity/ActivityLogger.php

manifyst_capability_roles #

apply_filters( 'manifyst_capability_roles', array<int,string> $roles )

Filter the roles that receive Manifyst capabilities on activation.

  • $roles (array<int,string>) — Role slugs.

Source: Manifyst/src/Support/Capabilities.php

manifyst_console_nav_items #

apply_filters( 'manifyst_console_nav_items', array<int,array{view: string, label: string}> $items )

Filter the front-end console navigation.

  • $items (array<int,array{view: string, label: string}>) — Nav items.

Source: Manifyst/src/Shortcodes/ManageShortcode.php

manifyst_doc_article_url #

apply_filters( 'manifyst_doc_article_url', string $url, string $slug )

Filter a documentation article URL, e.g. to point at a mirror.

  • $url (string) — The article URL.
  • $slug (string) — The article slug.

Source: Manifyst/src/Admin/Documentation.php

manifyst_email_body #

apply_filters( 'manifyst_email_body', string $html, \Manifyst\Email\Types\SignupEmail $email )

Filter the rendered email body.

  • $html (string) — The email HTML.
  • $email (\Manifyst\Email\Types\SignupEmail) — The email type.

Source: Manifyst/src/Email/Types/SignupEmail.php

manifyst_email_placeholders #

apply_filters( 'manifyst_email_placeholders', array<string,string> $placeholders, \Manifyst\Email\Types\SignupEmail $email )

Filter the email placeholders.

  • $placeholders (array<string,string>) — Placeholder map.
  • $email (\Manifyst\Email\Types\SignupEmail) — The email type.

Source: Manifyst/src/Email/Types/SignupEmail.php

manifyst_load_admin_assets #

apply_filters( 'manifyst_load_admin_assets', bool $should_load, string $hook_suffix )

Filter whether to load admin assets.

  • $should_load (bool) — Whether to load assets.
  • $hook_suffix (string) — Current page hook suffix.

Source: Manifyst/src/Assets/AssetsServiceProvider.php

manifyst_load_console_assets #

apply_filters( 'manifyst_load_console_assets', bool $should_load )

Filter whether to load the console assets — for themes that render the console outside post content (a template part or a block pattern).

  • $should_load (bool) — Whether to load assets.

Source: Manifyst/src/Assets/AssetsServiceProvider.php

manifyst_load_frontend_assets #

apply_filters( 'manifyst_load_frontend_assets', bool $should_load )

Filter whether to load frontend assets.

  • $should_load (bool) — Whether to load assets.

Source: Manifyst/src/Assets/AssetsServiceProvider.php

manifyst_max_custom_fields #

apply_filters( 'manifyst_max_custom_fields', int $max )

Filters the maximum number of custom fields per event.

  • $max (int) — Maximum field count.

Source: Manifyst/src/Fields/FieldCollection.php

manifyst_my_signups_limit #

apply_filters( 'manifyst_my_signups_limit', int $limit )

Filters the maximum number of signups fetched for the My Signups page.

  • $limit (int) — Maximum rows fetched, newest first. Default 500.

Source: Manifyst/src/Shortcodes/MySignupsShortcode.php

manifyst_recurrence_max_occurrences #

apply_filters( 'manifyst_recurrence_max_occurrences', int $max )

Filter the hard ceiling on materialized occurrences per expansion.

  • $max (int) — Maximum occurrences.

Source: Manifyst/src/Events/Recurrence/RecurrenceRule.php

manifyst_reserved_custom_data_keys #

apply_filters( 'manifyst_reserved_custom_data_keys', string[] $reserved )

Filters custom_data keys that are ignored by validation (in addition to the underscore-prefixed namespace). Sibling features can reserve keys here, but then own their sanitization and persistence.

  • $reserved (string[]) — Reserved keys.

Source: Manifyst/src/Fields/FieldValidator.php

manifyst_rest_event_data #

apply_filters( 'manifyst_rest_event_data', array $data, \Event $event, \WP_REST_Request $request )

Filter the event data before sending in the response.

  • $data (array) — The event data.
  • $event (\Event) — The event entity.
  • $request (\WP_REST_Request) — The request object.

Source: Manifyst/src/REST/EventsController.php

manifyst_rest_rate_limit #

apply_filters( 'manifyst_rest_rate_limit', int $max_attempts, string $action )

Filter the maximum number of attempts allowed within the window for a public, token-based REST action.

  • $max_attempts (int) — Allowed attempts.
  • $action (string) — The throttle bucket key.

Source: Manifyst/src/REST/SignupsController.php

manifyst_rest_signup_data #

apply_filters( 'manifyst_rest_signup_data', array $data, \Signup $signup, \WP_REST_Request $request )

Filter the signup data before sending in the response.

  • $data (array) — The signup data.
  • $signup (\Signup) — The signup entity.
  • $request (\WP_REST_Request) — The request object.

Source: Manifyst/src/REST/SignupsController.php

manifyst_rest_slot_data #

apply_filters( 'manifyst_rest_slot_data', array $data, \Slot $slot, \WP_REST_Request $request )

Filter the slot data before sending in the response.

  • $data (array) — The slot data.
  • $slot (\Slot) — The slot entity.
  • $request (\WP_REST_Request) — The request object.

Source: Manifyst/src/REST/SlotsController.php

manifyst_series_horizon #

apply_filters( 'manifyst_series_horizon', string $horizon, \Event $template )

Filter how far ahead series occurrences are materialized.

  • $horizon (string) — strtotime-relative window end, from today.
  • $template (\Event) — The series template.

Source: Manifyst/src/Events/Recurrence/SeriesGenerator.php

manifyst_series_max_per_run #

apply_filters( 'manifyst_series_max_per_run', int $max, \Event $template )

Filter the per-run cap on newly created occurrences per template.

  • $max (int) — Maximum new occurrences per run.
  • $template (\Event) — The series template.

Source: Manifyst/src/Events/Recurrence/SeriesGenerator.php

manifyst_series_sync_max #

apply_filters( 'manifyst_series_sync_max', int $max, \Event $template )

Filter the cap on occurrences created synchronously during a save.

Kept small for fast saves; the remainder arrives via self-chaining background batches within about a minute per batch.

  • $max (int) — Maximum occurrences for the synchronous pass.
  • $template (\Event) — The series template.

Source: Manifyst/src/Events/Recurrence/SeriesGenerator.php

manifyst_show_credit #

apply_filters( 'manifyst_show_credit', bool $show_credit, \Manifyst\Events\Event $event )

Filter whether the Manifyst credit line is shown on public event pages.

  • $show_credit (bool) — Whether to show the credit line.
  • $event (\Manifyst\Events\Event) — Event entity.

Source: Manifyst/views/event-single.php

manifyst_wp_role_grants #

apply_filters( 'manifyst_wp_role_grants', array<string,array<int,string>> $grants )

Filter the Manifyst capabilities granted to WordPress roles on install/upgrade.

Return an empty array to leave WordPress roles untouched.

  • $grants (array<string,array<int,string>>) — Role slug =&gt; capabilities.

Source: Manifyst/src/Support/Capabilities.php

Updated on October 26, 2026
Hooks Reference

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Manifyst Hooks ReferenceManifyst Hooks Reference
Table of Contents
  • Actions (24)
    • manifyst_activate
    • manifyst_after_delete_event
    • manifyst_after_delete_item
    • manifyst_after_delete_slot
    • manifyst_before_delete_event
    • manifyst_before_delete_signup
    • manifyst_before_delete_slot
    • manifyst_console_render_ledger
    • manifyst_deactivate
    • manifyst_email_sent
    • manifyst_event_created
    • manifyst_event_duplicated
    • manifyst_event_updated
    • manifyst_item_created
    • manifyst_item_updated
    • manifyst_loaded
    • manifyst_migrations_complete
    • manifyst_reminders_processed
    • manifyst_signup_cancelled
    • manifyst_signup_created
    • manifyst_signup_promoted
    • manifyst_signup_updated
    • manifyst_slot_created
    • manifyst_slot_updated
  • Filters (23)
    • artifex_license_store_url
    • manifyst_activity_logging_enabled
    • manifyst_capability_roles
    • manifyst_console_nav_items
    • manifyst_doc_article_url
    • manifyst_email_body
    • manifyst_email_placeholders
    • manifyst_load_admin_assets
    • manifyst_load_console_assets
    • manifyst_load_frontend_assets
    • manifyst_max_custom_fields
    • manifyst_my_signups_limit
    • manifyst_recurrence_max_occurrences
    • manifyst_reserved_custom_data_keys
    • manifyst_rest_event_data
    • manifyst_rest_rate_limit
    • manifyst_rest_signup_data
    • manifyst_rest_slot_data
    • manifyst_series_horizon
    • manifyst_series_max_per_run
    • manifyst_series_sync_max
    • manifyst_show_credit
    • manifyst_wp_role_grants

Artifex Routing Co

Dependable WordPress plugins from one small team.

  • Artifex Routing Co on LinkedIn
  • Artifex Routing Co on X
Plugins
Coupon CreatorSteuardManifystWyregraf
Company
  • Terms of Service
  • Privacy Policy
  • Affiliates
  • My Account
© 2026 Artifex Routing Co
Plugins for WordPress
7ads6x98y

Contact us

Have a license? Log in and we will fill in your details.

Log into Your Account

Lost Password?

Or just send us a message

"*" indicates required fields

This field is for validation purposes and should be left unchanged.
What can we help with?*
Your Name:*
(uses account display name)
(uses account email)
Looking for a refund? Please fill out the refund form

Technical details

Drop files here or
Accepted file types: jpg, png, pdf, Max. file size: 2 MB, Max. files: 5.