Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Dynamic CSS enqueue fatals when Frontend generator is unavailable

オープン
#4,599 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@girishpanchal30 がすでに取り組んでいます。

2026年9月17日 から。

評価

この issue はまだ評価されていません。

説明

bug-report bug-report-triage crash-report

Summary

Neve frontend requests can terminate while generating dynamic CSS when the frontend style generator cannot be loaded.

Expected behavior: The page request continues and enqueues the CSS that remains available.

Actual behavior: An uncaught Class "Neve\Core\Styles\Frontend" not found error is raised during dynamic CSS enqueueing.

Impact: Affected frontend page views return a fatal error instead of rendering.

Customer context

  • Product / area: Neve dynamic CSS on the frontend
  • Version: 4.2.11
  • Environment: PHP 8.3.33; WordPress versions reported by telemetry: 6.9.7 and 7.1
  • Integration / third party: Not provided
  • Reported error / symptom: Class "Neve\Core\Styles\Frontend" not found at inc/core/dynamic_css.php:71
  • Impact: 2 telemetry occurrences across 2 distinct sites between 2026-08-20 and 2026-08-24.

Reproduction notes

  1. Use Neve 4.2.11 on a frontend request that triggers wp_enqueue_scripts.
  2. Make the mapped Neve\Core\Styles\Frontend class unavailable to the Neve autoloader, for example through an incomplete or unreadable theme file.
  3. Observe that dynamic CSS enqueueing reaches the direct frontend-generator construction and raises the reported class-not-found error.

Production reproduction is confirmed by telemetry; an isolated local reproduction was not run.

Diagnosis

Conclusion

Production telemetry grounds the frontend fatal at Dynamic_Css::enqueue() in Neve 4.2.11. That release directly instantiates Neve\Core\Styles\Frontend with no availability check. Commit f71438636 (2026-08-21) adds an availability check around this generator path and describes the change as preventing class-loading errors. This is strong evidence of a Neve crash defect when the mapped generator cannot be loaded.

Where this likely occurs
  • inc/core/dynamic_css.php — Neve\Core\Dynamic_Css::enqueue() lines 65-84 selects Frontend for wp_enqueue_scripts and directly constructs it at line 71 in 4.2.11.
  • inc/core/styles/frontend.php — Neve\Core\Styles\Frontend is declared at lines 8-25, confirming the expected class is part of the release tree.
  • autoloader.php — Neve\Autoloader::load_mapped_file() lines 114-160 maps a class to a lowercased PHP path and returns false when that file is absent or unreadable.
  • start.php — bootstrap lines 44-60 registers the Neve namespace against inc/ before core loading.
  • Release tag v4.2.11 resolves to c3c4ad6746b71e15e4bc9373848332afb7d2028b; f71438636ab80af15fa2581888826c4be79309a0, following e1b889db2, is later than that release and is not contained in it.
Engineering notes

The inspected release includes the expected Frontend class and namespace mapping, so the telemetry does not establish why the class was unavailable on the affected installations. The released enqueue path nevertheless turns an unavailable mapped class into a frontend fatal. Neve Pro was inspected only for an override of this generator and does not define Neve\Core\Styles\Frontend; its dynamic-style subscribers do not explain the missing-class error.

Test coverage status

tests/test-neve-autoloader.php contains coverage for Neve\Autoloader::load_class() missing-file behavior at lines 63-108. No relevant coverage was found during inspection for Dynamic_Css::enqueue() continuing when the selected generator class is unavailable.

What to verify or explore next
  • May be worth reproducing with a Neve installation where inc/core/styles/frontend.php is unavailable or unreadable and invoking the wp_enqueue_scripts path.
  • May be worth running the dynamic CSS test coverage, if present in CI, against the 4.2.11 release tree and the follow-up commit.
  • Verify whether the subsequent guard has shipped in a Neve release and whether telemetry continues after that release.
Unknowns / follow-up
  • The telemetry does not include the affected theme directory contents, file permissions, or deployment mechanism.
  • No evidence establishes a previously working release for either affected site, so regression status is unconfirmed.

Confidence

Confidence: 94/100

Production telemetry records the frontend fatal twice on Neve 4.2.11, and the released code directly instantiates the missing class without a guard. A subsequent Neve commit explicitly adds the corresponding class-existence check, confirming a product-side crash path.

Crash telemetry

Occurrences 2
Distinct sites 2
First seen 2026-08-20 17:03 UTC
Last seen 2026-08-24 12:54 UTC
Crash location product:inc/core/dynamic_css.php:71
Request context frontend
Inside Themeisle SDK no
Product versions 4.2.11
WP versions 6.9.7, 7.1
PHP versions 8.3.33
SDK versions 3.3.59

Source: automated crash report — neve, fingerprint 5fab41cf25c417fcbb7ecc829c0720df
Generated by bug-report-triage (ID: bug-report-triage_6a8d2fc1649822.90371526)

主要言語
PHP
スター
307
フォーク
88
平均マージ
2日 11時間
マージ済み PR(30日)
18

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Codeinwp/neve のほかの issue

Codeinwp/neve の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。