Customizer controls script throws when WooCommerce is inactive and an Elementor shop template exists (woocommerce_product_catalog section missing)
Maintainer thường phản hồi trong vòng 1 ngày
@girishpanchal30 đang làm issue này rồi.
Từ ngày 13/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Summary
With WooCommerce deactivated and a leftover Elementor shop (product archive) template on the site, the Customizer, including the Header Builder, fails to finish loading and stays stuck.
Expected: the Customizer loads normally; the Elementor-template warning is only attempted when the WooCommerce section exists.
Actual: a script error stops initialization.
Impact: the Header Builder and Customizer are unusable on affected sites until WooCommerce is re-enabled or the template is removed.
Customer context
- Product / area: Neve (Pro) Customizer / Header Builder
- Version: Not provided
- Environment: WooCommerce disabled; Elementor shop template remains
- Reported symptom: Customizer/Header Builder stuck loading
- Impact: Customizer unusable on that site
Reproduction notes
Inferred steps: 1) Create an Elementor product archive template. 2) Deactivate WooCommerce. 3) Open the Customizer. Expected: the script error appears and the UI hangs. Not reproduced at runtime.
Diagnosis
Conclusion
The code path appears to call .notifications on the result of wp.customize.section('woocommerce_product_catalog') without checking that the section exists. That section is registered by WooCommerce, so with WooCommerce off the result is likely undefined and the call would throw. This is inferred from source, not runtime-verified.
Where this likely occurs
assets/apps/customizer-controls/src/controls.js—checkHasElementorTemplates()approx. lines 317–345, on thewoocommerce_product_catalogandneve_single_product_layoutsections; it is called approx. line 406.inc/compatibility/woocommerce.php—add_customizer_options()approx. lines 145–149, which setshasElementorShopTemplateandhasElementorProductTemplateviaElementor::has_template().
Engineering notes
The elementor flags are set in the WooCommerce compat class. Worth checking whether that class loads when WooCommerce is inactive, and whether the flag is true in that state. A leftover template post is apparently enough to trigger the branch. The product-template block just below uses the same pattern for neve_single_product_layout.
Test coverage status
No relevant coverage was found during inspection.
What to verify or explore next
May be worth verifying the reproduction with WooCommerce off plus an Elementor product_archive template, and checking the browser console for a TypeError.
Unknowns / follow-up
The affected Neve version is unknown. Whether the flag is populated with WooCommerce off was not confirmed.
Confidence
Confidence: 80/100
Source shows the Customizer script dereferences a WooCommerce section without a null check, matching the customer's diagnosis. Not runtime-reproduced.
Source: HelpScout #3480859978
Generated by bug-report-triage (ID: bug-report-triage_6acd668c519742.22923583)
- Ngôn ngữ chính
- PHP
- Star
- 307
- Fork
- 88
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 15
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Codeinwp/neve
-
Customizer responsive sanitizer fatals when input is an arrayCó thể đã có người làm @HardeepAsrani đã nhận 5 ngày trước. Đang mởbug-report bug-report-triage crash-report
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Codeinwp/neve#4651 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Duplicate H1: hidden screen-reader title H1 rendered alongside custom layout H1 when page title is hiddenCó thể đã có người làm @HardeepAsrani đã nhận 2 ngày trước. Đang mởbug-report bug-report-triage customer report
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 48/100
Codeinwp/neve#4652 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feature-request-triage
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
-
feature-request-triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
-
customer report feature-request-triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Codeinwp/neve
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
TYPO3BestPractices/tea#2409 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
api-platform/core#8690 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
No Code Attached Yet
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
joomla/joomla-cms#48626 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DorsetDigital/silverstripe-schema-manager#26 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
sync-en
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 4 ngày