How To Hide Past Events Events Calendar Pro JetEngine Listing

How To Hide Past Events Events Calendar Pro JetEngine Listing

Event Calendar: Manage and showcase your events - ReelCrafter Help Articles

Mastering how to hide past events events calendar pro jetengine listing requires configuring custom query arguments in JetEngine's Listing Grid while mapping data from The Events Calendar Pro's custom post types. By dynamically passing timestamp parameters to the database query, you ensure your archives only display active or upcoming events without manual content pruning.

Pre-Procedure Planning & Database Alignment

Successful dynamic content filtering between The Events Calendar Pro and Crocoblock's JetEngine relies on understanding how event dates are indexed in the WordPress database. The Events Calendar stores event start and end dates as custom post meta fields, specifically tracking exact timestamps alongside standard date-time strings. Before building your listing template, you must verify that your server environment supports dynamic date queries and that your database tables are fully optimized for meta-query filtering.



  • Essential tools and plugins: WordPress, The Events Calendar Pro, JetEngine (version 3.0 or higher), and Advanced Custom Fields or JetSmartFilters for enhanced query manipulation.
  • Mandatory prerequisite knowledge: Familiarity with WordPress custom post types, post meta architecture, SQL database logic, and JetEngine listing grid configuration parameters.
  • Estimated setup duration and budget: Approximately 30 to 45 minutes of configuration time, requiring standard developer-tier plugin licenses.

Step-by-Step JetEngine Listing Query Configuration



Step 1: Establish the Custom Query Source

Navigate to your WordPress dashboard and open the JetEngine Custom Queries builder to create a new query dedicated exclusively to your event listings. Select Post as the query type and target the specific post type registered by The Events Calendar, which is typically designated by the slug "tribe_events". This isolates your data source so that the listing grid only pulls event posts rather than standard pages, blog posts, or unrelated custom post types.

Pro-Tip: Always verify the exact post type slug of your event plugin in the database to prevent query failure caused by naming discrepancies.



Step 2: Implement the Meta Query Date Parameter

Within your JetEngine Custom Query settings, locate the Meta Query section and add a new clause designed to filter out historical dates. Set the key parameter to the exact meta field name utilized by The Events Calendar for the event end date, which stores the UNIX timestamp or ISO date string. Set the comparison operator to greater than or equal to, and establish the value parameter dynamically by utilizing current time functions or the current UNIX timestamp to target future events.

Warning: Ensure your date format matches the exact string structure stored by The Events Calendar plugin, otherwise the database comparison will fail and return zero results.



Step 3: Configure the JetEngine Listing Grid Widget

Go to your Elementor or Gutenberg editor where you intend to display the event schedule and drag the JetEngine Listing Grid widget onto the canvas. Assign the custom listing item template you designed for your events, and under the query options, select your newly created custom query instead of the default post query. This forces the grid to inherit the date filtering rules, dynamically suppressing any event whose end date falls behind the current server time.



Step 4: Test and Verify Dynamic Exclusions

Publish the page containing your Listing Grid and view it from the front end as a standard visitor. Create a test event with a start date in the past and an end date that has already expired to verify that it disappears instantly from the rendered grid. Concurrently, create a recurring or future event to confirm that valid upcoming entries remain visible and correctly sorted in chronological order.


How do I hide my personal events from other staff? - Ubookr Knowledge Base

How do I hide my personal events from other staff? - Ubookr Knowledge Base

Technical Specifications and Query Matrix Comparison



Parameter Feature Standard Post Query JetEngine Custom Meta Query
Data Source Native WordPress Posts Custom Post Types (Tribe Events)
Date Filtering Requires custom PHP snippets Built-in meta query logic
Performance Impact Low to Moderate Highly Optimized with Indexed Meta Keys
Dynamic Time Offset Static / Manual Updates Real-Time Server Timestamp Evaluation

Common Site Failures and Field Fixes



  • Root Cause: Expired events continue appearing in the JetEngine listing grid despite configuring the query.

    • Actionable Fix: Check your meta key configuration; The Events Calendar often uses different keys for start dates versus end dates. Switch your meta query key to target the precise end date field instead of the start date.
  • Root Cause: The listing grid returns an empty output with zero events displayed.

    • Actionable Fix: Your timestamp comparison format is likely mismatched. Ensure your query value leverages the dynamic current time token rather than a hardcoded string that instantly expires.
  • Root Cause: Timezone discrepancies cause events happening today to disappear prematurely.

    • Actionable Fix: Adjust your WordPress general settings to match your exact local timezone and verify that JetEngine evaluates timestamps using site-local time rather than UTC.

Frequently Asked Questions



Why do past events still show up in my JetEngine grid by default?

Standard JetEngine listing grids pull posts based purely on menu order, publication date, or ID unless explicitly restricted by a custom meta query. Because The Events Calendar stores event dates as post meta rather than standard post publication dates, JetEngine requires a dedicated meta query to evaluate event end times against the current clock.



Can I use JetSmartFilters alongside this custom query?

Yes, JetSmartFilters integrates seamlessly with JetEngine custom queries. You can layer taxonomy filters for event categories or date-range pickers on top of your existing past-event exclusion logic without breaking the query constraints.



How do I handle multi-day events that span across past and future dates?

To ensure multi-day events remain visible until their final conclusion, configure your JetEngine meta query to target the event end date field using a greater than or equal to comparison against the current timestamp, rather than relying on the start date.



Does this method affect website caching performance?

Properly configured JetEngine custom queries have a minimal impact on site performance. However, if you run a high-traffic site, ensure your caching solution supports dynamic fragment caching or transient caching for custom database queries to maintain optimal load speeds.

Implement advanced dynamic filtering on your WordPress events directory today by structuring precise JetEngine queries that keep your schedule automated and clutter-free.


Show or hide calendars and task events - Support Center

Show or hide calendars and task events - Support Center

Read also: Discovering History Through Old WV Mugshots: A Deep Dive into West Virginia’s Public Record Archives
close