jQuery(document).ready(function($) { // ============================================ // FIX 1: Re-process excerpts after AJAX filter // ============================================ function reinitializeExcerpts() { // Target the specific excerpt widget $('.elementor-widget-theme-post-excerpt').each(function() { var $widget = $(this); var $container = $widget.find('.elementor-widget-container'); // Check if it's showing the placeholder if ($container.text().trim() === 'excerpt') { // Force Elementor to re-render this widget var widgetType = $widget.data('widget_type'); if (widgetType && elementorFrontend && elementorFrontend.elementsHandler) { var handler = elementorFrontend.elementsHandler.getHandler($widget); if (handler && handler.onInit) { handler.onInit(); } } } }); } // Listen for Elementor's AJAX completion $(document).on('elementor/render/loop-grid', function() { setTimeout(reinitializeExcerpts, 100); }); // Also try the alternative event $(document).on('elementor/ajax/posts/complete', function() { setTimeout(reinitializeExcerpts, 100); }); // ============================================ // FIX 2: Ensure filter clicks work properly // ============================================ $(document).on('click', '.e-filter-item', function(e) { var $button = $(this); // Update visual state immediately $('.e-filter-item').attr('aria-pressed', 'false'); $button.attr('aria-pressed', 'true'); // Log for debugging console.log('Filter clicked:', $button.data('filter')); }); });

Tag: Training

Reflections from the field, authored by PM Power experts who coach, consult, and lead every day.

Talk to an Expert

Looking for guidance or more information?

Our team is here to support you. Reach out and let’s start the conversation.