Per-extension hooks
Hooks fired by individual bundled extensions. Each section below covers one extension; the hook is only available when that extension is active (fw()->extensions->get( '<name>' )). Grouped by extension so you can jump straight to the one you're extending.
Breadcrumbs extension
Actions (0)
None.
Filters (11)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_breadcrumbs_args | $args | unysonplus/framework/extensions/breadcrumbs/class-fw-extension-breadcrumbs.php |
fw_ext_breadcrumbs_build | $return | } |
fw_ext_breadcrumbs_current_page | [] | unysonplus/framework/extensions/breadcrumbs/includes/class-breadcrumbs-builder.php |
fw_ext_breadcrumbs_date_day_format | 'd F Y' | unysonplus/framework/extensions/breadcrumbs/includes/class-breadcrumbs-builder.php |
fw_ext_breadcrumbs_date_month_format | 'F Y' | unysonplus/framework/extensions/breadcrumbs/includes/class-breadcrumbs-builder.php |
fw_ext_breadcrumbs_date_year_format | 'Y' | unysonplus/framework/extensions/breadcrumbs/includes/class-breadcrumbs-builder.php |
fw_ext_breadcrumbs_items | $items, $args | unysonplus/framework/extensions/breadcrumbs/class-fw-extension-breadcrumbs.php |
fw_ext_breadcrumbs_search_query | get_search_query() | unysonplus/framework/extensions/breadcrumbs/includes/class-breadcrumbs-builder.php |
fw_ext_breadcrumbs_settings_options_default_values | see source | unysonplus/framework/extensions/breadcrumbs/settings-options.php |
fw:ext:breadcrumbs:settings-options:after | [] | unysonplus/framework/extensions/breadcrumbs/settings-options.php |
fw:ext:breadcrumbs:settings-options:before | [] | unysonplus/framework/extensions/breadcrumbs/settings-options.php |
Forms extension
Actions (3)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_forms_frontend_submit | see source | unysonplus/framework/extensions/forms/class-fw-extension-forms.php |
fw_option_type_form_builder_init | — | unysonplus/framework/extensions/forms/includes/option-types/form-builder/class-fw-option-type-form-builder.php |
fw:ext:contact-forms:sent | $entry_data | unysonplus/framework/extensions/forms/extensions/contact-forms/class-fw-extension-contact-forms.php |
Filters (5)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw:ext:contact-forms:email:bcc | array( /* 'john@smith.com' => 'John Smith' */ ) | (@since 2.0.30) |
fw:ext:contact-forms:email:cc | array( /* 'john@smith.com' => 'John Smith' */ ) | (@since 2.0.30) |
fw:ext:forms:attr:class | $data['attr']['class'] ?? '' | unysonplus/framework/extensions/forms/class-fw-extension-forms.php |
fw:ext:forms:builder:load-item:form-header-title | true | unysonplus/framework/extensions/forms/extensions/contact-forms/shortcodes/contact-form/options.php |
fw:ext:forms:collect-uploads | array(), $shortcode_to_item | unysonplus/framework/extensions/forms/class-fw-extension-forms.php |
Mega Menu extension
Actions (0)
None.
Filters (7)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_mega_menu_container | see source | unysonplus/framework/extensions/megamenu/includes/class-fw-ext-mega-menu-walker.php |
fw_ext_mega_menu_start_lvl_classes | see source | unysonplus/framework/extensions/megamenu/includes/class-fw-ext-mega-menu-walker.php |
fw:ext:megamenu:enqueue-frontend-css | true | Baseline front-end layout (opt-out via the filter below). |
fw:ext:megamenu:enqueue-icon-css | true | Icon font for the front end — match whatever the configured icon picker stores. |
fw:ext:megamenu:icon-option | see source | unysonplus/framework/extensions/megamenu/class-fw-extension-megamenu.php |
fw:ext:megamenu:label:item-options-btn | __('Settings', 'fw') | unysonplus/framework/extensions/megamenu/class-fw-extension-megamenu.php |
fw:ext:megamenu:start_el_item_content:disable | false, $item | (@since 1.1.3) |
Portfolio extension
Actions (0)
None.
Filters (6)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_portfolio_category_name | see source | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
fw_ext_portfolio_post_slug | $this->slug | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
fw_ext_portfolio_tag_name | see source | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
fw_ext_portfolio_taxonomy_slug | $this->taxonomy_slug | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
fw_ext_projects_post_type_name | see source | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
fw:ext:portfolio:enable-tags | $this->feature_enabled( 'enable_tags', false ) | unysonplus/framework/extensions/portfolio/class-fw-extension-portfolio.php |
Sidebars extension
Actions (0)
None.
Filters (4)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_sidebars_conditional_tags | $this->config['select_options']['conditional_tags'] | unysonplus/framework/extensions/sidebars/includes/class-fw-extension-sidebars-config.php |
fw_ext_sidebars_post_types | see source | unysonplus/framework/extensions/sidebars/includes/class-fw-extension-sidebars-config.php |
fw_ext_sidebars_settings_options | array() | unysonplus/framework/extensions/sidebars/settings-options.php |
fw_ext_sidebars_taxonomies | see source | unysonplus/framework/extensions/sidebars/includes/class-fw-extension-sidebars-config.php |
Asset Optimizer extension
Actions (0)
None.
Filters (4)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw:ext:asset-optimizer:css_exclude_handles | array(), $known | Force-exclude CSS handles from combining (developer escape hatch). @param string[] $handles Extra handles to leave as separate requests. @param array $known The known handle => src map. |
fw:ext:asset-optimizer:js_exclude_handles | array() | Force-exclude JS handles from combining (developer escape hatch). @param string[] $handles Handles to never fold into the bundle. |
fw:ext:asset-optimizer:settings-options:after | array() | unysonplus/framework/extensions/asset-optimizer/settings-options.php |
fw:ext:asset-optimizer:settings-options:before | array() | unysonplus/framework/extensions/asset-optimizer/settings-options.php |
Post Types extension
Actions (1)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_post_types_saved | $post_types, $taxonomies, $prev_post_types, $prev_taxonomies | Fires after the post type / taxonomy definitions are written. Use it to invalidate anything keyed on the set of registered post types. Both the new and previous definition arrays are passed, so you can diff them. |
Filters (6)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_post_types_args | $args, $slug, $def | Filter the final register_post_type() args for a user-created post type. @param array $args The arguments passed to register_post_type(). @param string $slug The post type key. @param array $def The raw saved definition row. |
fw_ext_post_types_taxonomy_args | $args, $slug, $object_types, $def | Filter the final register_taxonomy() args for a user-created taxonomy. @param array $args The arguments passed to register_taxonomy(). @param string $slug The taxonomy key. @param string[] $object_types Post type keys the taxonomy is bound to. @param array... |
fw_ext_post_types_archive_query | $vars, $post_type, $def, $query | Filter the query vars applied to a user-created post type's archive (from the row's Archive tab) before they are set on the main query. Return an empty array to leave the archive query untouched. |
fw_ext_post_types_blueprints | $blueprints | Filter the available Blueprints — ready-made content-type packs, keyed by slug, each with title, desc, icon, post_types[], taxonomies[] and an optional fields group. Add your own to offer a one-click content type. |
fw_upw_internal_post_types | $keys | Post type keys treated as WordPress plumbing and hidden from every "pick a post type" chooser. Backs the shared fw_upw_post_type_choices() helper used by this extension and Custom Fields, so filtering it changes both. |
fw_unysonplus_admin_submenu_order | see source | The leading order of the Unyson+ submenu, by page slug. The parent slug itself is the "Extensions" landing item and stays on top. @param string[] $order |
Mailer extension
Actions (0)
None.
Filters (2)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_mailer_before_send | $email | (@since 1.2.10) |
fw_ext_mailer_send_methods | array() | unysonplus/framework/extensions/mailer/class-fw-extension-mailer.php |
Snippets extension
Actions (0)
None.
Filters (1)
| Hook | Passes to your callback | What it does |
|---|---|---|
fw_ext_snippets_strip_auto_sections | true, $snippet_id | unysonplus/framework/extensions/snippets/helpers.php |
Live Page Editor extension
Actions (0)
None.
Filters (1)
| Hook | Passes to your callback | What it does |
|---|---|---|
sc_build_wrapper_attr | $attr, $atts | Non-destructive direct test: is our stamp filter registered, and does the deployed sc_build_wrapper_attr actually run it? sc_build_wrapper_attr is a pure array-builder (no side effects), and our filter just appends an attr. probeFired=false while stampHooked=true ⇒ the deploye... |
WooCommerce extension
Actions (0)
None.
Filters (1)
| Hook | Passes to your callback | What it does |
|---|---|---|
upwc_wc_free_shipping_threshold | $threshold | unysonplus/framework/extensions/woocommerce/helpers.php |