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
  • Advanced

Custom Queries for the Post Grid/Carousel Block (Filter)

The Post Grid/Carousel block (Kadence Blocks Pro) provides settings to display posts in a grid or carousel layout. However, sometimes you need to alter the query beyond the block’s built-in settings. In these cases, you can add a code snippet to modify the WordPress Query object directly. You can add PHP code to your site using a plugin like Code Snippets or your child theme’s functions.php file.

If you want to modify the query arguments, you can make use of the kadence_blocks_pro_posts_grid_query_args filter.

Table of Contents
  • Adding Custom CSS Classes to Post Grid/Carousel Blocks
    • Example 1: Query Multiple Post Types
    • Example 2: Show Only Posts with a Populated Custom Field
    • Explore More Examples

Adding Custom CSS Classes to Post Grid/Carousel Blocks

The examples in this document rely on the Post Grid/Carousel Block having a Custom CSS Class applied. To add a Custom CSS Class, select the Post Grid/Carousel Block in the WordPress Editor, then navigate to Block Settings → Advanced Tab → Advanced → Additional CSS Class(es) and enter your class.

Custom CSS Classes on Post Grids

Example 1: Query Multiple Post Types

add_filter( 'kadence_blocks_pro_posts_grid_query_args', function( $args, $attributes ) {

    // Target a specific Post Grid/Carousel block using a custom class
    if ( isset( $attributes['className'] ) && strpos( $attributes['className'], 'YOUR-CUSTOM-CLASS' ) !== false ) {
        
        // Show posts from multiple post types. Adjust the array as needed.
        $args['post_type'] = array( 'post', 'SECONDARY_POST_TYPE' );

        // Order posts by publish date
        $args['orderby'] = 'date';
        $args['order']   = 'DESC';
    }

    return $args;

}, 10, 2 );
  • Targets only blocks with the specified class (YOUR-CUSTOM-CLASS).
  • Queries multiple post types (post and SECONDARY_POST_TYPE).
  • Orders posts by publish date, newest first.

Example 2: Show Only Posts with a Populated Custom Field

add_filter( 'kadence_blocks_pro_posts_grid_query_args', function( $args, $attributes ) {

    // Target a specific Post Grid/Carousel block using a custom class
    if ( isset( $attributes['className'] ) && strpos( $attributes['className'], 'YOUR-CUSTOM-CLASS' ) !== false ) {

        // Specify the post type(s) you want to query
        $args['post_type'] = 'post';

        // Only show posts where a specific custom field exists
        $args['meta_query'] = array(
            array(
                'key'     => 'YOUR_CUSTOM_FIELD',  // Replace with your field name
                'compare' => 'EXISTS',
            ),
        );

        // Order posts by publish date
        $args['orderby'] = 'date';
        $args['order']   = 'DESC';
    }

    return $args;

}, 10, 2 );
  • Targets blocks with the specified class (YOUR-CUSTOM-CLASS).
  • Filters posts to include only those where the custom field has a value.
  • Orders posts by publish date, newest first.

Explore More Examples

Even though the Query Loop (Advanced) Block and the Post Grid/Carousel Block use different filters and methods for accessing the current block, the Custom Queries for the Advanced Query Loop Block (Filter) documentation provides many examples of the WordPress Query object being used logically. While these examples cannot be copied and pasted directly, they can be adapted for use with the Post Grid/Carousel Block.

Do you feel this document was helpful?
How to add Multiple Markers in the Kadence Google Maps BlockHow to Run JavaScript After a Kadence Form is Successfully Submitted (On Event)
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