Newly Created Kadence Elements Not Showing After Kadence Blocks Update – How to Fix It
Recently, I had a client reach out with a frustrating issue: after updating Kadence Blocks, newly created Kadence Elements refused to display on the frontend of their website. The existing elements—over 200 of them—were still working fine, but any new ones simply wouldn’t show up.
Cache was cleared, multiple devices were tested, and even a troubleshooting plugin was used to disable everything except Kadence Pro, Kadence Blocks, and the Kadence theme. Still, no luck.
If you’re facing the same problem, here’s a step-by-step guide to solving it based on what worked for my client.
Step 1: Confirm the Issue
First, ensure the problem is specific to your site. In my client’s case, the issue only appeared after the Kadence Blocks update, and it affected only new Kadence Elements. Existing elements displayed correctly, which hinted at a possible query or limit issue tied to the update. To verify, create a test Kadence Element and check if it appears on the frontend where it’s hooked. If it doesn’t, proceed with the steps below.
Step 2: Basic Troubleshooting
Before diving into code, rule out common culprits:
- Clear your cache: Both browser and any caching plugins (e.g., WP Rocket, W3 Total Cache).
- Test on multiple devices: Ensure it’s not a local display issue.
- Disable conflicting plugins: Use a troubleshooting plugin to deactivate everything except Kadence Blocks, Kadence Pro, and the Kadence theme. Check if the new elements appear.
If the issue persists after these steps—like it did for my client—it’s time to dig deeper.
Step 3: Check Kadence Elements Query Limit
The root of the problem turned out to be a query limit within Kadence. By default, Kadence may cap the number of elements it retrieves, which can prevent new ones from showing if you’ve already created a large number (e.g., 200+ in my client’s case). To fix this, you can increase the limit using a custom code snippet.
Here’s how to do it:
- Install a Code Snippets Plugin: I recommend the “Code Snippets” plugin for a safe, easy way to add custom code without editing theme files directly. Install and activate it from the WordPress plugin repository.
- Add the Custom Code: Go to Snippets > Add New in your WordPress dashboard. Paste the following code:
function increase_element_query() {
return array(
'post_type' => 'kadence_element',
'no_found_rows' => true,
'update_post_term_cache' => false,
'post_status' => 'publish',
'numberposts' => 700,
'order' => 'ASC',
'orderby' => 'menu_order',
'suppress_filters' => false,
);
}
add_filter( 'kadence_pro_element_main_query_args', 'increase_element_query' );
- Adjust the Number: The
numberposts
value is set to700
in this example. If you have more than 700 elements, increase this number to suit your needs (e.g.,1000
or1500
). - Save and Activate: Save the snippet and activate it. Then, refresh your site’s frontend to see if the new elements now appear.
Step 4: Test and Verify
After adding the snippet, create a new Kadence Element (or check an existing one that wasn’t showing). Hook it to a page or location as usual, then visit the frontend. In my client’s case, this fix immediately resolved the issue, and all new elements displayed correctly.
Why This Happens
Kadence Elements rely on a query to fetch and display content. Updates to Kadence Blocks can sometimes alter how this query behaves, especially if you’ve got a high volume of elements. The custom code overrides the default query limit, ensuring all your elements—old and new—get pulled in properly.
Final Thoughts
This solution saved the day for my client, and it’s a handy fix to have in your toolbox if you’re managing a site with lots of Kadence Elements. It’s quick, doesn’t require waiting for support, and keeps your workflow moving. Let me know in the comments if this works for you or if you’ve found another way around it.