Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Customizer controls script throws when WooCommerce is inactive and an Elementor shop template exists (woocommerce_product_catalog section missing)

Đang mở
#4,653 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

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.

  • #4654 của @girishpanchal30 — đã merge
  • #4656 của @pirate-bot — đang mở

Đánh giá

Issue này chưa được đánh giá.

Mô tả

bug-report bug-report-triage customer report

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 the woocommerce_product_catalog and neve_single_product_layout sections; it is called approx. line 406.
  • inc/compatibility/woocommerce.php — add_customizer_options() approx. lines 145–149, which sets hasElementorShopTemplate and hasElementorProductTemplate via Elementor::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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Codeinwp/neve

Tất cả issue của Codeinwp/neve

Issue tương tự

Thêm issue về PHP

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.