elementor / elementor/elementor

Elementor Pro Taxonomy Filter Doesn't Work on Loop Grid that Represents Woocommerce Products

Open
#31,691 0 comments 0 reactions 0 assignees View on GitHub
status/awaiting_triage
Dominant language
PHP
Stars
7.1k
Forks
1.6k
Avg merge
1d 5h
Merged PRs (30d)
193

Description

### Description

I have a loop grid item where it represents all the woocommerce products in a form of cards, which is placed on shop page or product archive page. At the same, i also uses Taxonomy Filter to filter based on product categories. I believe i have setup all the connection from the taxonomy (both widget and the loop grid), but once i pressed one of the categories through the Taxonomy Filter, the product loop grid doesn't change. However if i refresh it, it works, the product loop grid changed. But at the same time the OR logic doesn't work, when i select 2 categories and refresh it, a product with the 3rd category still show up, it only works for 1 category filter with the refresh action. Btw im designing this on theme builder for the product archive page, i tried to design it directly on a page not through a template, but its stil doesn't work,

I have seen @nicholaszein solved a lot of elementor issues including a problem similiar to mine. However, its between the solution was too technical and the problem isn't specifically 1:1 same with mine here. I hope Mr. Nicholas can help me with my problem here. Im also open to any person that have solved this specific problem to help me too.

### Steps to reproduce

1. Create a new elementor template for product archive page
2. Create a loop grid that represents woocommerce products.
3. Input both taxonomy filter and the loop grid on the page.
4. Make sure both widget are going for products and product categories.
5. Publish and test the filter if it affects the prodct loop grid.

### Expected behavior

I expect the taxonomy filter is to fully working for the product loop grid like it supposed to. If i click the categories that i want on the filter, the product loop grid should only shows the products with that exact categories without the need of me to manually refresh the page.

### Elementor System Info

```txt
== Server Environment ==
Operating System: Linux
Software: Unit/1.33.0
MySQL version: Percona Server (GPL), Release 29, Revision 30dc4e71 v8.0.37-29
PHP Version: 8.2.28
PHP Memory Limit: 512M
PHP Max Input Vars: 10000
PHP Max Post Size: 1024M
GD Installed: Yes
ZIP Installed: Yes
Write Permissions: All right
Elementor Library: Connected

== WordPress Environment ==
Version: 6.8.1
Site URL: https://gmcelektronik.id
Home URL: https://gmcelektronik.id
WP Multisite: No
Max Upload Size: 1 GB
Memory limit: 40M
Max Memory limit: 512M
Permalink Structure: /%postname%/
Language: en_US
Timezone: 7
Admin Email: solutechidmaju@gmail.com
Debug Mode: Inactive

== Theme ==
Name: Blocksy
Version: 2.1.1
Author: CreativeThemes
Child Theme: No

== User ==
Role: administrator
WP Profile lang: en-US
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36

== Active Plugins ==
Advanced Custom Fields PRO
Version: 6.4.2
Author: WP Engine

Dynamic Elementor ACF Repeater
Version: 1.0.2
Author: Calculabs

Elementor
Version: 3.30.0
Author: Elementor.com

Elementor Pro
Version: 3.30.0
Author: Elementor.com

Filter Everything — WooCommerce Product & WordPress Filter
Version: 1.9.0
Author: Andrii Stepasiuk

Variation Swatches for WooCommerce
Version: 2.2.5
Author: AovUp

WooCommerce
Version: 9.9.5
Author: Automattic

WooCommerce Catalog Mode - Product Pricing, Enquiry Forms & Promotions
Version: 1.1.8
Author: zendcrew

WPCode Lite
Version: 2.2.9
Author: WPCode

WP Ultimate CSV Importer Pro
Version: 8.7
Author: Smackcoders

== Must-Use Plugins ==
Elementor Safe Mode
Version: 1.0.0
Author: Elementor.com

Object Cache Pro (MU)
Version: 1.23.1
Author: Rhubarb Group

System Plugin
Version: 4.172.0
Author:

== Features ==
Custom Fonts: 0
Custom Icons: 0

== Integrations ==

woocommerce: Active

== Elementor Experiments ==
Inline Font Icons: Active by default
Additional Custom Breakpoints: Active by default
Container: Active by default
Optimized Markup: Active
Default to New Theme Builder: Active by default
Nested Elements: Active by default
Pages Panel: Inactive by default
Element Caching: Active by default
Elementor Home Screen: Active by default
Elementor Editor Events: Inactive by default
Atomic Widgets: Inactive by default
Global Classes: Inactive by default
Enforce global classes capabilities: Active by default
Variables: Inactive by default
Cloud Library: Active by default
Editor v4 (Opt In Page): Active by default
Editor V4: Inactive by default
Menu: Active

== Log ==

PHP: showing 7 of 7PHP: 2025-06-28 17:39:24 [warning X 30][/dom243573/wp-content/plugins/elementor-pro/modules/theme-builder/classes/conditions-manager.php::181] Undefined array key "editor_post_id" [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2025-06-30 10:23:50 [error X 5][/dom243573/wp-content/plugins/elementor/modules/ai/module.php::351] Uncaught Error: Call to a member function get_gallery_image_ids() on bool in /dom243573/wp-content/plugins/elementor/modules/ai/module.php:351
Stack trace:
#0 /dom243573/wp-includes/class-wp-hook.php(324): Elementor\Modules\Ai\Module->get_product_images_ajax('')
#1 /dom243573/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#2 /dom243573/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#3 /dom243573/wp-admin/admin-ajax.php(192): do_action('wp_ajax_element...')
#4 {main}
thrown [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2025-06-30 13:37:01 [warning X 29][/dom243573/wp-content/plugins/elementor-pro/modules/dynamic-tags/acf/tags/acf-text.php::33] Undefined array key 1 [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2025-06-30 19:24:49 [warning X 83][/dom243573/wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php::150] Undefined array key "condition_type" [array (
'trace' => '
#0: /dom243573/wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(150): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_template_json_item()
#2: /dom243573/wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(120): class type array_map()
#3: /dom243573/wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(59): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_templates_json()
#4: /dom243573/wp-content/plugins/elementor/data/base/endpoint.php(156): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> get_items()
',
)]
PHP: 2025-07-01 20:21:03 [notice X 93][/dom243573/wp-content/plugins/elementor/includes/base/controls-stack.php::230] hexdec(): Passing null to parameter #1 ($hex_string) of type string is deprecated [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2025-07-02 20:59:45 [error X 1][/dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/module.php::1588] Uncaught TypeError: Unsupported operand types: string / int in /dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/module.php:1588
Stack trace:
#0 /dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/module.php(1548): ElementorPro\Modules\Woocommerce\Module->adjust_setting_for_product_renderer(Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid))
#1 /dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/module.php(1536): ElementorPro\Modules\Woocommerce\Module->parse_loop_query_args(Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid), Array)
#2 /dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/module.php(1485): ElementorPro\Modules\Woocommerce\Module->loop_query(Array, Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid))
#3 /dom243573/wp-includes/class-wp-hook.php(324): ElementorPro\Modules\Woocommerce\Module->ElementorPro\Modules\Woocommerce\{closure}(Array, Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid))
#4 /dom243573/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array)
#5 /dom243573/wp-content/plugins/elementor-pro/modules/query-control/classes/elementor-post-query.php(156): apply_filters('elementor/query...', Array, Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid))
#6 /dom243573/wp-content/plugins/elementor-pro/modules/query-control/classes/elementor-post-query.php(49): ElementorPro\Modules\QueryControl\Classes\Elementor_Post_Query->get_query_args()
#7 /dom243573/wp-content/plugins/elementor-pro/modules/query-control/module.php(1006): ElementorPro\Modules\QueryControl\Classes\Elementor_Post_Query->get_query()
#8 /dom243573/wp-content/plugins/elementor-pro/modules/posts/widgets/posts.php(90): ElementorPro\Modules\QueryControl\Module->get_query(Object(ElementorPro\Modules\LoopBuilder\Widgets\Loop_Grid), 'product_query', Array, Array)
#9 /dom243573/wp-content/plugins/elementor-pro/modules/loop-builder/widgets/base.php(57): ElementorPro\Modules\Posts\Widgets\Posts->query_posts()
#10 /dom243573/wp-content/plugins/elementor-pro/modules/posts/skins/skin-base.php(908): ElementorPro\Modules\LoopBuilder\Widgets\Base->query_posts()
#11 /dom243573/wp-content/plugins/elementor-pro/modules/loop-builder/skins/skin-loop-base.php(130): ElementorPro\Modules\Posts\Skins\Skin_Base->render()
#12 /dom243573/wp-content/plugins/elementor-pro/modules/woocommerce/skins/skin-loop-product.php(39): ElementorPro\Modules\LoopBuilder\Skins\Skin_Loop_Base->render()
#13 /dom243573/wp-content/plugins/elementor/includes/base/skin-base.php(79): ElementorPro\Modules\WooCommerce\Skins\Skin_Loop_Product->render()
#14 /dom243573/wp-content/plugins/elementor/includes/base/widget-base.php(634): Elementor\Skin_Base->render_by_mode()
#15 /dom243573/wp-content/plugins/elementor/core/base/document.php(389): Elementor\Widget_Base->render_content()
#16 /dom243573/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(447): Elementor\Core\Base\Document->render_element(Array)
#17 /dom243573/wp-content/plugins/elementor/includes/managers/widgets.php(474): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document->render_element(Array)
#18 [internal function]: Elementor\Widgets_Manager->ajax_render_widget(Array, Object(Elementor\Core\Common\Modules\Ajax\Module))
#19 /dom243573/wp-content/plugins/elementor/core/common/modules/ajax/module.php(176): call_user_func(Array, Array, Object(Elementor\Core\Common\Modules\Ajax\Module))
#20 /dom243573/wp-includes/class-wp-hook.php(324): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request('')
#21 /dom243573/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#22 /dom243573/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#23 /dom243573/wp-admin/admin-ajax.php(192): do_action('wp_ajax_element...')
#24 {main}
thrown [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2025-07-02 23:16:47 [warning X 8][/dom243573/wp-content/plugins/elementor-pro/modules/loop-filter/query/taxonomy-manager.php::150] Undefined array key "logicalJoin" [array (
'trace' => '
#0: /dom243573/wp-content/plugins/elementor-pro/modules/loop-filter/query/taxonomy-manager.php(150): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: /dom243573/wp-content/plugins/elementor-pro/modules/loop-filter/query/taxonomy-query-builder.php(33): ElementorPro\Modules\LoopFilter\Query\Taxonomy_Manager -> get_hierarchy_of_selected_terms()
#2: /dom243573/wp-content/plugins/elementor-pro/modules/loop-filter/module.php(123): ElementorPro\Modules\LoopFilter\Query\Taxonomy_Query_Builder -> get_merged_queries()
#3: /dom243573/wp-includes/class-wp-hook.php(324): ElementorPro\Modules\LoopFilter\Module -> filter_loop_query()
#4: /dom243573/wp-includes/plugin.php(205): WP_Hook -> apply_filters()
',
)]

JS: showing 10 of 10JS: 2025-06-28 11:49:41 [error X 1][https://gmcelektronik.id/wp-admin/load-scripts.php?c=1&loadchunk_0=jquery-ui-draggable,react,react-dom&ver=6.8.1:29:23733] Cannot read properties of undefined (reading 'constructor')
JS: 2025-06-28 12:00:54 [error X 1][https://gmcelektronik.id/wp-admin/load-scripts.php?c=1&loadchunk_0=jquery-core,jquery-migrate,react,utils,wp-dom-ready,wp-hooks&ver=6.8.1:2:28760] Cannot read properties of undefined (reading 'value')
JS: 2025-06-29 02:51:41 [error X 4][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.29.2:3:667996] Cannot read properties of null (reading 'id')
JS: 2025-06-29 16:20:36 [error X 1][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/common-modules.min.js?ver=3.29.2:2:63978] elementor is not defined
JS: 2025-06-30 06:02:48 [error X 21][https://gmcelektronik.id/wp-content/plugins/elementor-pro/assets/js/editor.min.js?ver=3.29.2:2:70180] Cannot convert undefined or null to object
JS: 2025-06-30 07:52:16 [error X 4][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.29.2:3:885752] Cannot read properties of undefined (reading 'toLowerCase')
JS: 2025-06-30 07:53:21 [error X 18][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.29.2:3:886259] Cannot read properties of undefined (reading 'localized')
JS: 2025-07-02 05:21:22 [error X 1][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/5fb5fb036b89b334cd2e.bundle.min.js:2:7542] Cannot read properties of null (reading 'dataset')
JS: 2025-07-03 14:15:46 [error X 3][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.30.0:3:404772] Cannot read properties of undefined (reading 'html')
JS: 2025-07-03 15:27:02 [error X 2][https://gmcelektronik.id/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.30.0:2:23489] elementorFrontendConfig is not defined

Log: showing 19 of 192025-07-01 19:17:37 [info] elementor::elementor_updater Started
2025-07-01 19:17:37 [info] Elementor/Upgrades - _on_each_version Start
2025-07-01 19:17:37 [info] Elementor/Upgrades - _on_each_version Finished
2025-07-01 19:17:37 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:17:37 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:17:38 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:17:38 [info] elementor::elementor_updater Started
2025-07-01 19:17:38 [info] Elementor/Upgrades - _on_each_version Start
2025-07-01 19:17:38 [info] Elementor/Upgrades - _on_each_version Finished
2025-07-01 19:17:38 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:17:39 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:18:34 [info] elementor-pro::elementor_pro_updater Started
2025-07-01 19:18:34 [info] Elementor Pro/Upgrades - _on_each_version Start
2025-07-01 19:18:34 [info] Elementor Pro/Upgrades - _on_each_version Finished
2025-07-01 19:18:34 [info] Elementor Pro/Upgrades - _v_3_30_0_post_navigation_inline_icons Start
2025-07-01 19:18:34 [info] Elementor Pro/Upgrades - _v_3_30_0_post_navigation_inline_icons Finished
2025-07-01 19:18:34 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor Pro',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:18:34 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor Pro',
'from' => '3.29.2',
'to' => '3.30.0',
)]
2025-07-01 19:18:35 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor Pro',
'from' => '3.29.2',
'to' => '3.30.0',
)]

== Elementor - Compatibility Tag ==

Dynamic Elementor ACF Repeater: Incompatible
Elementor Pro: Compatible

== Elementor Pro - Compatibility Tag ==

Dynamic Elementor ACF Repeater: Incompatible
```

### Agreement

- [x] I confirm I have read and followed all the guidelines and instructions outlined in the Elementor Bug Report form.
- [x] I agree that my issue may be closed without further action if it doesn't meet all the requirements outlined in the Elementor Bug Report form.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.