Skip to content
Help Center
  • Pricing
  • ProductsExpand
    • Premium PlansGet all the tools you need in one plan
    • Kadence ThemeLightning-fast performance theme for modern websites
    • Kadence BlocksDrop in ready designs with advanced controls for pixel perfect websites
    • Kadence Shop KitCreate a more effective WooCommerce shopping experience
    • Kadence ConversionsBoost sales and build engaged audiences with popups and banners
    • Kadence InsightsEasily create A/B tests. Optimize your pages to drive higher conversions.
    • View All Products
    • Get Kadence + Hosting
      In One Place

      Enjoy faster setup, top-tier performance, and worry-free WordPress hosting – Kadence Theme, Kadence Blocks, and Solid Security all pre-installed.

      Learn More

  • Kadence AI
  • Starter Templates
  • Blog
  • SupportExpand
    • Resource HubStart here for guides, Product docs, FAQs, and Troubleshooting tips, all in one place.
    • Contact SupportStuck on something? We’re here to help! Open a ticket for top-notch support.
    • Contact Our TeamGot pre-sales questions or need help choosing a plan? Open a ticket and our team will guide you.
    • About usCrafted with love in Missoula, Montana. Meet the team behind the mission.
Account Account
Get Kadence
Kadence Blocks
  • Features
  • Pro
  • Blocks
  • HelpExpand
    • Documentation
    • Submit a Ticket
    • Facebook Group
    • Feature Requests
    • Roadmap
    • Changelog
Help Center
Kadence Blocks

Kadence Blocks

  • Row Layout Block
  • Text (Adv) Block
  • Buttons (Adv) Block
  • Image (Adv) Block
  • Gallery (Adv) Block
  • Section Block
  • Testimonial Block
  • Table of Contents Block
  • Form Block
  • Form (Adv) Block
  • Table (Adv) Block
  • Accordion Block
  • Tabs Block
  • Info Box Block
  • Google Maps Block
  • Show More Block
  • Icon Block
  • Icon List Block
  • Progress Bar Block
  • Posts Block
  • Count Up Block
  • Countdown Block
  • Vector Graphic Block
  • Lottie Animations Block
  • Repeater Block
  • Spacer/Divider Block
  • The Kadence Header (Adv) Block
  • The Kadence Navigation (Adv) Block
  • The Kadence Navigation Link Block
  • Search (Adv) Block
  • Site Identity Block
  • Kadence Blocks Default Icon Selections

Getting Started

  • Installing Kadence Blocks
  • Getting Started with Kadence Performance
  • Kadence AI-Powered Design Library
  • Setting custom widths in multi-column Row Layout Blocks
  • How to define a color Palette with Kadence Blocks
  • How to delete/remove a Block
  • How to Duplicate and Copy/Paste Block Styles
  • Setting Block Defaults
  • Kadence Blocks Pexels Integration

Block Tutorials

  • How to Import and Export Blocks or Sections Between Websites
  • How to Use Flexbox Layouts with Section Blocks
  • How to Make a Top Section Sticky with Kadence Blocks
  • Using Padding and Margin in Kadence Blocks
  • Responsive Breakpoints in Kadence
  • Using GIFS and Lottie Animations with Kadence Blocks
  • Adding a Full-width Row
  • Modal Block Quick Start Guide
  • Image Overlay Quick Start Guide
  • How to hide Kadence blocks via WordPress Gutenberg Preferences
  • How To Add Animate on Scroll Effects To Your Page
  • How to add Custom CSS Classes and HTML IDs to Kadence Blocks
  • How to Show Events Using the Kadence Post Grid/Carousel Block
  • How to use Popup Modal Filters with Advanced Query Loops
  • Create a Full Screen Landing Page
  • Displaying Shortcodes in the WordPress Editor
  • Advanced Navigation Sub Menus and Mega Menus
  • Creating Sticky and Transparent Advanced Headers
  • Getting started with Advanced Header/Navigations
  • Building Headers and Footers in Full Site Editing with Kadence Blocks
  • Split Content Quick Start Guide
  • Applying Block-Level Custom CSS in Kadence Blocks
  • How to Access the Kadence Design Library
  • Adding Video Backgrounds to Row Layout
  • Pexels Picker
  • Adding Classic Wireframes, Starter Packs, and Sections to the New Design Library
  • How to customize the design library color palette
  • Adding Privacy Policy link to Kadence Form
  • Set Equal Column Heights with the Row Layout Block
  • How to Control the Hero or Title Section Sitewide and Per Page in Kadence
  • How to Change the Query Loop (Adv) “All” Button Text

Kadence Blocks Pro

  • Kadence Blocks Pro Plugin
  • Product Carousel Block
  • User Info Block
  • Portfolio Grid/Carousel Block
  • Query Loop (Adv) Block
  • Post Grid/Carousel Block
  • The Kadence Block Controls
  • Dynamic Content
  • Display Blocks Conditionally (Conditional Display)
  • Advanced Slider
  • Video Popup Block
  • Image Overlay Block
  • Split Content Block
  • Modal Block
  • Using a Dynamic List Block
  • Dynamic Content: Custom Input and Showing Fields from all Post Types
  • Dynamic HTML Block
  • Using Custom SVG Icons with Kadence Blocks Pro
  • Kadence Custom Fonts
  • Post Grid/Carousel Block – Configure a Blog List

Troubleshooting Blocks

  • Troubleshooting the “Error, Unable to access library database, please try re-syncing” error on the Kadence Blocks Design Library
  • Troubleshooting Query Loop (Adv) Blocks, Filters, and Search issues
  • Kadence Blocks Errors when SCRIPT_DEBUG is Enabled
  • Troubleshooting White/Blank Screens in the Editor or Customizer
  • How to Force Reindex Advanced Queries
  • How to Download Previous Versions of the Kadence Theme and Plugins
  • Resolving Autoplay Problems in Advanced Slider/Gallery Blocks
  • Recommended Server Resources
  • Troubleshooting Kadence Form (Adv) Email Delivery
  • How to Recover a Broken Block

Advanced

  • How to Modify SVG Dividers in Kadence Row Layout Blocks
  • How to Override the Kadence Forms Email Template
  • Prebuilt Layouts
  • How To Set Your Own Conditions for Successful Form (Adv) Submissions
  • How to Block Form (Adv) Spam Using WordPress Disallowed Comment Keys
  • Custom Queries for the Portfolio Grid/Carousel Block (Filter)
  • Customizing the Kadence Blocks Pro Post Grid/Carousel block’s Query to show multiple post types
  • Custom Queries for the Posts Block (Filter)
  • How to Set a Gradient Border for the Section block
  • Run JavaScript when Query Loop (Adv) Updates
  • Custom Upload Directory in Kadence Form (Adv) Block
  • Populate Select, Checkbox, and Radio field option values programmatically in Form (Adv)
  • Query Loop (Adv) Block: Split Character Filter
  • How to add Multiple Markers in the Kadence Google Maps Block
  • Custom Queries for the Post Grid/Carousel Block (Filter)
  • How to Run JavaScript After a Kadence Form is Successfully Submitted (On Event)
  • Dynamically Displaying ACF or Metabox Relationships in Query Loop (Adv) blocks
  • How to Customize the Kadence Blocks Variable Font Sizes (SM, MD, LG, XL, 2XL, and 3XL)
  • Using Tooltips with Kadence Blocks
  • Custom Queries for the Advanced Query Loop Block (Filter)
  • Adding a Custom Font to Kadence Blocks

Advanced Headers

  • How to use Advanced Headers Globally and Conditionally in Kadence
  • The Kadence Header (Adv) Block
  • Using Advanced Header / Navigation Blocks vs Kadence Theme Header Builder
  • Advanced Header Best Practices
  • Getting the most out of Navigation Link Blocks
  • Creating Sticky and Transparent Advanced Headers
  • Advanced Navigation Sub Menus and Mega Menus
  • The Kadence Navigation Builder
  • The Kadence Visual Builder & Off Canvas Settings
  • Importing & Exporting Advanced Headers & Navigations

Kadence Form Integrations

  • How to Modify the Form (Adv) Submit Actions using a Filter
  • How to integrate hCaptcha with Kadence Form (Adv) Blocks
  • How to Integrate Kadence Forms with Cloudflare Turnstile
  • How to Integrate Google reCAPTCHA with Kadence Forms
  • How to Integrate Google Analytics with Kadence Forms
  • Integrating Kadence Forms with FluentCRM
  • Integrating Kadence Forms with Kit (ConvertKit)
  • Kadence Forms and Database Entries
  • Kadence Forms and Auto Respond Emails
  • Integrating Kadence Forms with Webhooks
  • Integrating Kadence Forms with Mailchimp
  • Integrating Kadence Forms with Brevo
  • Integrating Kadence Forms with ActiveCampaign
  • Integrating Kadence Forms with Mailerlite
  • Home
  • Knowledge Base
  • Kadence Blocks
  • Kadence Blocks
  • Kadence Form Integrations

How to Modify the Form (Adv) Submit Actions using a Filter

This tutorial explains how to change what happens when a Form (Adv) is submitted by using the kadence_blocks_advanced_form_actions filter. This filter makes it possible to adjust which submit actions run right before Kadence processes the submission, including turning submit actions on or off based on what was entered.

A common use case is making an email marketing action (like Mailerlite) run only when a visitor checks a consent box. Kadence supports Mailerlite as a submit action in the Form (Adv) settings.

Table of Contents
  • Before You Begin
  • What This Filter Does
  • Example
    • Adding the Code Snippet
    • Confirming the Form Field Name
    • Enabling the Mailerlite Submit Action
    • How This Example Works
  • Targeting Specific Forms
  • Best Practices
  • Related Resources

Before You Begin

Important: Safety First

  • Add custom PHP code using one of these safe options:
    • A child theme’s functions.php, or
    • A code snippets plugin (recommended for most sites)
  • Test changes on a staging site when possible.
  • Create a full backup before adding or changing code.

What This Filter Does

kadence_blocks_advanced_form_actions runs during form processing and allows you to modify the list of submit actions before Kadence runs them. You can conditionally enable or disable integrations based on submitted field values.

  • $processed_fields (the submitted fields after Kadence prepares them)
  • $post_id (the page/post where the form block exists)

This is a good place to conditionally control which submit actions run based on submitted field values.

Example

This example makes the Mailerlite submit action run only when an Accept field named “subscribe” is checked.

Kadence’s Mailerlite integration is enabled as a submit action in the Advanced Form block settings. This filter can then add or remove MailerLite from the actions list at submit time.

Adding the Code Snippet

Add the code below using either a snippets plugin or a child theme’s functions.php.

// Filter Kadence Advanced Form submit actions before they run
add_filter( 'kadence_blocks_advanced_form_actions', 'custom_adv_form_actions', 10, 4 );

function custom_adv_form_actions( $actions, $form_args, $processed_fields, $post_id ){

	$accept = false; // assume checkbox not accepted by default

	// Loop through processed form fields
	foreach ( $processed_fields as $field ) {

		// Check by FIELD NAME (not label) for reliability
		if ( isset($field['name']) && $field['name'] === 'subscribe' ) {

			// Accept field returns a truthy value when checked
			if ( ! empty( $field['value'] ) ) {
				$accept = true;
			}
		}
	}

	// List of possible action keys:
	// mailerlite, fluentCRM, sendinblue, mailchimp, convertkit, getresponse, activecampaign, webhook

	// Find the MailerLite action in the actions array
	$action_key = array_search('mailerlite', $actions);

	// If checkbox NOT accepted, remove MailerLite action
	if ( ! $accept && $action_key !== false ) {
		unset( $actions[$action_key] );
	}

	// Return the modified actions list
	return $actions;
}

Confirming the Form Field Name

For this example snippet to work, the Advanced Form needs an Accept field that includes “subscribe” in the field name.

A typical setup looks like:

  • Field type: Accept
  • Field name: subscribe 

Tip: Keeping the field name simple (like subscribe) makes long-term maintenance easier.

Subscribe

Enabling the Mailerlite Submit Action

Kadence requires Mailerlite to be enabled in the Advanced Form’s submit actions so the integration settings exist and can run when enabled.

The official Mailerlite integration guide covers how to enable Mailerlite and connect an API key and audience settings. 

Enabling Mailerlite

How This Example Works

  • The filter checks submitted fields ($processed_fields) and finds the Accept field related to subscribing.
  • If the checkbox was accepted, the Accept field returns a truthy value. The snippet checks for a non-empty value rather than matching specific text, which makes it reliable across languages and label changes.
  • If it was not accepted, the snippet removes Mailerlite from the actions list before Kadence runs submit actions.

Targeting Specific Forms

If you only want this logic to apply to one specific form, add a post ID check at the top of the function:

// Only run on form with post ID 1234

if ( $post_id !== 1234 ) {

return $actions;

}

Best Practices

  • Limit changes to the correct form when possible (for example, by checking the $post_id, or checking a unique form attribute in $form_args if available in the site’s setup.)
  • Use a staging website for testing.

Related Resources

  • Form (Adv) Block documentation 
  • Integrating Kadence Forms with Mailerlite 
  • Custom Upload Directory in Kadence Form (Adv) Block
  • How To Set Your Own Conditions for Successful Form (Adv) Submissions (Helpful for understanding how Kadence passes submission data)  
Do you feel this document was helpful?
How to integrate hCaptcha with Kadence Form (Adv) Blocks
The Kadence WP Logo
Crafted in Missoula, Montana
  • Follow Kadence on Facebook
  • Follow Kadence on Youtube
  • X
  • Follow Kadence on Instagram
Trustpilot
Products
  • Kadence Plans
  • Kadence Theme
  • Kadence Blocks
  • Kadence AI
  • Kadence Starter Templates
  • Kadence Shop Kit
  • Kadence Conversions
  • Kadence Pattern Hub
  • View All
Resources
  • Blog
  • Podcast
  • Knowledgebase
  • Support ticket
  • Feature Requests
  • FAQ
  • WordPress Hosting Services
About Us
  • About Kadence
  • Become an affiliate
  • Contact us
  • Terms
  • Privacy Policy
  • Security
Our Partner Brands
  • SolidWP
  • LearnDash
  • The Events Calendar
  • GiveWP
  • MemberDash
Kadence Community
  • Kadence Marketplace
  • Join the Facebook Group
  • Subscribe to our YouTube Channel
© 2024 Kadence WP | All prices are in USD
Logo for StellarWP an umbrella brand of Premium WordPress plugins
  • Pricing
  • Products
    • Premium PlansGet all the tools you need in one plan
    • Kadence ThemeLightning-fast performance theme for modern websites
    • Kadence BlocksDrop in ready designs with advanced controls for pixel perfect websites
    • Kadence Shop KitCreate a more effective WooCommerce shopping experience
    • Kadence ConversionsBoost sales and build engaged audiences with popups and banners
    • Kadence InsightsEasily create A/B tests. Optimize your pages to drive higher conversions.
    • View All Products
    • Get Kadence + Hosting
      In One Place

      Enjoy faster setup, top-tier performance, and worry-free WordPress hosting – Kadence Theme, Kadence Blocks, and Solid Security all pre-installed.

      Learn More

  • Kadence AI
  • Starter Templates
  • Blog
  • Support
    • Resource HubStart here for guides, Product docs, FAQs, and Troubleshooting tips, all in one place.
    • Contact SupportStuck on something? We’re here to help! Open a ticket for top-notch support.
    • Contact Our TeamGot pre-sales questions or need help choosing a plan? Open a ticket and our team will guide you.
    • About usCrafted with love in Missoula, Montana. Meet the team behind the mission.
Account Login
  • Features
  • Pro
  • Blocks
  • HelpExpand
    • Documentation
    • Submit a Ticket
    • Facebook Group
    • Feature Requests
    • Roadmap
    • Changelog