Customizer page is empty on fresh install
Closed this issue · 4 comments
Description
There is a bug in Neve v3.8.7 such that loading the /wp-admin/customize.php
page is blank.
I just did a fresh install of wordpress in a VM running Debian 10. I did not install any plugins (though wordpress came with Akismet Anti-Spam
installed by default). I have the latest version of WordPress from the
debian repos installed — currently that’s 6.1.6 (which is listed as supported by this theme at the time of writing). WordPress is served by nginx 1.22.1 and php8.2-fpm. I’m using the latest version of this theme (downloaded yesterday) = v3.8.7.
I’m using firefox 115.11.0esr and accessing the wordpress site at http://localhost:8081/
When I click on Appearance -> Customize, I get an empty page.
There are no PHP or web server errors appearing in the nginx logs.
There are numerous errors appearing in the javascript console:
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. customize.php
Some cookies are misusing the recommended “SameSite“ attribute 2
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. node.js:383
JQMIGRATE: Migrate is installed, version 3.3.2 load-scripts.php:5:709
Uncaught ReferenceError: _ is not defined
<anonymous> http://localhost:8081/wp-includes/js/wp-util.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/wp-util.min.js?ver=6.1.6:2
wp-util.min.js:2:98
Uncaught TypeError: b is undefined
Backbone 3
backbone.min.js:2:4383
Uncaught ReferenceError: Backbone is not defined
Backbone 2
wp-backbone.min.js:2:138
Uncaught TypeError: _ is undefined
<anonymous> http://localhost:8081/wp-includes/js/media-models.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/media-models.min.js?ver=6.1.6:2
media-models.min.js:2:12285
Uncaught TypeError: wp.media.model is undefined
<anonymous> http://localhost:8081/wp-includes/js/plupload/wp-plupload.min.js?ver=6.1.6:1
<anonymous> http://localhost:8081/wp-includes/js/plupload/wp-plupload.min.js?ver=6.1.6:1
wp-plupload.min.js:1:5791
Uncaught TypeError: a.view is undefined
<anonymous> http://localhost:8081/wp-includes/js/media-views.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/media-views.min.js?ver=6.1.6:2
media-views.min.js:2:107410
Uncaught TypeError: _ is undefined
<anonymous> http://localhost:8081/wp-includes/js/shortcode.min.js?ver=6.1.6:2
shortcode.min.js:2:574
Uncaught TypeError: wp.media.view is undefined
<anonymous> http://localhost:8081/wp-includes/js/media-editor.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/media-editor.min.js?ver=6.1.6:2
media-editor.min.js:2:5065
Uncaught TypeError: wp.media.view is undefined
<anonymous> http://localhost:8081/wp-includes/js/media-audiovideo.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/media-audiovideo.min.js?ver=6.1.6:2
media-audiovideo.min.js:2:10628
Uncaught TypeError: wp.media.controller is undefined
mediaWidgets http://localhost:8081/wp-admin/js/widgets/media-widgets.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-widgets.min.js?ver=6.1.6:2
media-widgets.min.js:2:101
Uncaught TypeError: wp.mediaWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:191
customize.php:191:1
Uncaught TypeError: wp.media.view is undefined
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-audio-widget.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-audio-widget.min.js?ver=6.1.6:2
media-audio-widget.min.js:2:33
Uncaught TypeError: wp.mediaWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:195
customize.php:195:1
Uncaught TypeError: a is undefined
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-image-widget.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-image-widget.min.js?ver=6.1.6:2
media-image-widget.min.js:2:35
Uncaught TypeError: wp.mediaWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:203
customize.php:203:1
Uncaught TypeError: wp.media.view is undefined
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-gallery-widget.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-gallery-widget.min.js?ver=6.1.6:2
media-gallery-widget.min.js:2:33
Uncaught TypeError: wp.mediaWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:211
customize.php:211:1
Uncaught TypeError: wp.media.view is undefined
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-video-widget.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/media-video-widget.min.js?ver=6.1.6:2
media-video-widget.min.js:2:33
Uncaught TypeError: wp.mediaWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:219
customize.php:219:1
Uncaught ReferenceError: Backbone is not defined
textWidgets http://localhost:8081/wp-admin/js/widgets/text-widgets.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/text-widgets.min.js?ver=6.1.6:2
text-widgets.min.js:2:94
Uncaught TypeError: wp.textWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:227
customize.php:227:1
Uncaught ReferenceError: Backbone is not defined
customHtmlWidgets http://localhost:8081/wp-admin/js/widgets/custom-html-widgets.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/widgets/custom-html-widgets.min.js?ver=6.1.6:2
custom-html-widgets.min.js:2:151
Uncaught TypeError: wp.customHtmlWidgets is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:236
customize.php:236:1
Uncaught TypeError: _ is undefined
<anonymous> http://localhost:8081/wp-admin/load-scripts.php?c=1&load[chunk_0]=heartbeat,customize-base,customize-controls,customize-widgets,wp-autop,wp-block-serialization-default-parser,wp-html-entities,wp&load[chunk_1]=-shortcode&ver=6.1.6:6
<anonymous> http://localhost:8081/wp-admin/load-scripts.php?c=1&load[chunk_0]=heartbeat,customize-base,customize-controls,customize-widgets,wp-autop,wp-block-serialization-default-parser,wp-html-entities,wp&load[chunk_1]=-shortcode&ver=6.1.6:6
load-scripts.php:6:8452
Uncaught ReferenceError: Backbone is not defined
<anonymous> http://localhost:8081/wp-admin/js/customize-nav-menus.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/customize-nav-menus.min.js?ver=6.1.6:2
customize-nav-menus.min.js:2:772
Uncaught ReferenceError: Backbone is not defined
<anonymous> http://localhost:8081/wp-includes/js/customize-models.js?ver=6.1.6:27
<anonymous> http://localhost:8081/wp-includes/js/customize-models.js?ver=6.1.6:281
customize-models.js:27:2
Uncaught TypeError: wp.Backbone.View is undefined
<anonymous> http://localhost:8081/wp-includes/js/customize-views.js?ver=6.1.6:24
<anonymous> http://localhost:8081/wp-includes/js/customize-views.js?ver=6.1.6:202
customize-views.js:24:2
Uncaught ReferenceError: Backbone is not defined
<anonymous> http://localhost:8081/wp-includes/js/mce-view.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-includes/js/mce-view.min.js?ver=6.1.6:2
mce-view.min.js:2:1737
Uncaught TypeError: g.template is not a function
<anonymous> http://localhost:8081/wp-admin/js/updates.min.js?ver=6.1.6:2
<anonymous> http://localhost:8081/wp-admin/js/updates.min.js?ver=6.1.6:2
updates.min.js:2:1711
Uncaught TypeError: e.Control is undefined
<anonymous> http://localhost:8081/wp-content/themes/neve/assets/js/build/all/customizer-controls.js?ver=3.8.7:1
<anonymous> http://localhost:8081/wp-content/themes/neve/assets/js/build/all/customizer-controls.js?ver=3.8.7:1
customizer-controls.js:1:10296
Uncaught TypeError: wp.customize.Control is undefined
241 http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:1
i http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:5
a http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:5
O http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:5
<anonymous> http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:5
<anonymous> http://localhost:8081/wp-content/themes/neve/assets/apps/customizer-controls/build/controls.js?ver=72bcce46a1bed968052e1920f0359d00:5
controls.js:1:818
Uncaught TypeError: _ is undefined
<anonymous> http://localhost:8081/wp-admin/customize.php:6024
customize.php:6024:4
Uncaught TypeError: class heritage e.Control is not an object or null
Le http://localhost:8081/wp-includes/js/dist/customize-widgets.min.js?ver=323c27f4fff5e87062f9:7
Ue http://localhost:8081/wp-includes/js/dist/customize-widgets.min.js?ver=323c27f4fff5e87062f9:7
<anonymous> http://localhost:8081/wp-admin/customize.php:2494
n jQuery
<anonymous> http://localhost:8081/wp-admin/customize.php:2493
customize-widgets.min.js:7:33485
XHRGET
http://localhost:8081/index.php?rest_route=/wp/v2/widget-types&context=edit&per_page=100&_locale=user
[HTTP/1.1 502 Bad Gateway 59ms]
GET
http://localhost:8081/favicon.ico
[HTTP/1.1 404 Not Found 0ms]
If I change the theme to the only other theme installed (the default = Twenty Twenty-Three
that came with wordpress), then I can load the customize.php page without issue.
Step-by-step reproduction instructions
- Download and install Debian 10
- Install prereqs
sudo apt-get install wordpress nginx mariadb-server php-fpm
- Configure nginx server, do wordpress "5-minute install", etc
wget
Neve v3.8.7 and extract zip intowp-content/themes/
- Activate Theme
- Try to load
/wp-admin/customize.php
- See (mostly) empty page (see screenshot below)
Screenshots, screen recording, code snippet or Help Scout ticket
Environment info
No response
Is the issue you are reporting a regression
No
Attempting to load /wp-admin/site-health.php
spits out the following errors in the WP WUI (WP_DEBUG
is enabled)
Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Cookie/Jar.php on line 63
Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Cookie/Jar.php on line 73
Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Cookie/Jar.php on line 89
Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Cookie/Jar.php on line 102
Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Cookie/Jar.php on line 111
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/neve/htdocs/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91
The page is stuck on Results are still loading…
indefinitely
@maltfield
cc: @vytisbulkevicius
I created a local image with Debian 10, Nginx, PHP8.2 and WordPress 6.1.6 with the latest version of Neve 3.8.7
You can check the gist that I used to replicate this here: https://gist.github.com/preda-bogdan/b646c22c918788eaf696ca208ed40792
I could not replicate the issue.
To me from looking at the logs it looks like some core JS files are not available like the Backbone framework that is used when loading controls. I suspect this is something related to the environment ( version of Wordpress used ) rather than something coming from the theme.
Also using Twenty Twenty-Three
as baseline is not the best as the theme does not use Customizer since it relies on the Gutenberg editor as it is a FSE theme this might be tied to a specific type of Customizer Control.
The WordPress is downloaded via wget
from wordpress.org same as with the theme.
Maybe the author can provide more input if it thinks I ommited something from checking this. Or maybe you have a way for me to replicate this locally.
Thank you!
@preda-bogdan thanks for looking into this
I think an important difference here is that I'm installing wordpress from the package in the official debian repos. Perhaps this is an upstream bug with Debian, then.
To me from looking at the logs it looks like some core JS files are not available like the Backbone framework that is used when loading controls.
Can you provide more information? What "core JS" file(s) provides the "Backbone framework"? If I have a path/filename, then it would greatly help me (and others) in debugging.