Support » Networking WordPress » Add new theme not working in multisite

  • Current version: 6.1.1

    I have installed wordpress and activated multisite (subdomains), but when I do this, and then navigate to Add New for Themes, the page does not offer any way of searching for a new theme. In fact when clicked, none of the content on the page does anything.

    As a quick check, I reinstalled wordpress, but did NOT activate multisite, and in this case I WAS able to add new themes.

    So something strange going on with the selection of multisite and then not being able to add a new theme. If it helps to know, in multisite, I AM able to add new plugins.

    Any ideas what the problem is? File permissions? rewrite rules? The fact that nobody else has reported the issue is also puzzling as that suggests it is something to do with my install. But why would single site be OK and multisite not?
    Thx for any/all ideas!

Viewing 8 replies - 1 through 8 (of 8 total)
  • Where are you attempting to add the themes from?

    Note that Multisite admins can’t add new themes at all. They can only activate themes previously added AND enabled by a SuperAdmin.

    And even if you’re a SuperAdmin, you can’t add new themes (or plugins) from the individual site’s dashboard. You need to go to MY SITES => NETWORK ADMIN => THEMES to browse or upload and add the theme, and then…

    — Either “Network Enable” the new theme to make it available to all sites in the network

    — Or go to an individual site’s Theme settings page (MY SITES => NETWORK ADMIN => SITES, choose a site, and then THEMES tab)… and enable the theme for just that site).

    After this, the theme will then appear in the individual site’s dashboard so it can be activated.

    Ditto for plugins.

    Thread Starter kingflashuk

    (@kingflashuk)

    Many thanks for the reply George.
    I’m in the Network Admin area, logged in as the super user that did the install. It’s very strange – as I said, in that area, I CAN install plugins. It’s just the themes install that is broken.
    Edit: Also, the upload theme button does nothing.

    • This reply was modified 3 weeks, 5 days ago by kingflashuk.
    • This reply was modified 3 weeks, 5 days ago by kingflashuk.

    I just installed a new WP site, activated Multisite, and I can browse and add new themes without an issue.

    So it seems this is a problem in your local environment.

    Please try to replicate the problem and check the following (if you’ve not done so already):

    — Are there any errors in your browser’s developer console?
    — Are they any errors in your webserver’s logs
    — Turn on WordPress debugging. Are there any errors (on-screen or in your configured error file)?

    Thread Starter kingflashuk

    (@kingflashuk)

    Hi

    Only errors in browser console are pasted below. No errors in the webserver error file (apache), and no errors on screen in debug mode. WordPress debug.log errors also pasted below.

    Thx

    Console errors:

    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”. theme-install.php
    JQMIGRATE: Migrate is installed, version 3.3.2 load-scripts.php:5:709
    The script from “https://<domainname>.com/wp-includes/js/dist/i18n.min.js?ver=9e794f35a71bb98672ae” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/hoverintent-js.min.js?ver=2.2.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/admin-bar.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/underscore.min.js?ver=1.13.4” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/backbone.min.js?ver=1.4.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/wp-util.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/dist/dom-ready.min.js?ver=392bdd43726760d1f3ca” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/dist/a11y.min.js?ver=ecce20f002eda4c19664” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    Uncaught SyntaxError: expected expression, got '<' i18n.min.js:1
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:455
    theme-install.php:455:1
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:461
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:462
    theme-install.php:461:2
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/js/common.min.js?ver=6.1.1:2
        <anonymous> https://<domainname>.com/wp-admin/js/common.min.js?ver=6.1.1:2
    common.min.js:2:62
    Uncaught SyntaxError: expected expression, got '<' hoverintent-js.min.js:1
    Uncaught SyntaxError: expected expression, got '<' admin-bar.min.js:1
    Uncaught SyntaxError: expected expression, got '<' underscore.min.js:1
    Uncaught SyntaxError: expected expression, got '<' backbone.min.js:1
    Uncaught SyntaxError: expected expression, got '<' wp-util.min.js:1
    Uncaught ReferenceError: Backbone is not defined
        Backbone 2
    wp-backbone.min.js:2:138
    Uncaught SyntaxError: expected expression, got '<' dom-ready.min.js:1
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:479
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:480
    theme-install.php:479:2
    Uncaught SyntaxError: expected expression, got '<' a11y.min.js:1
    The script from “https://<domainname>.com/wp-includes/js/wp-sanitize.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    The script from “https://<domainname>.com/wp-includes/js/heartbeat.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    Uncaught ReferenceError: _ is not defined
        <anonymous> https://<domainname>.com/wp-admin/js/theme.min.js?ver=6.1.1:2
        <anonymous> https://<domainname>.com/wp-admin/js/theme.min.js?ver=6.1.1:2
    theme.min.js:2:247
    Uncaught SyntaxError: expected expression, got '<' wp-sanitize.min.js:1
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:496
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:497
    theme-install.php:496:2
    The script from “https://<domainname>.com/wp-includes/js/wp-auth-check.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    Uncaught TypeError: g.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/js/updates.min.js?ver=6.1.1:2
        <anonymous> https://<domainname>.com/wp-admin/js/updates.min.js?ver=6.1.1:2
    updates.min.js:2:38
    Uncaught SyntaxError: expected expression, got '<' heartbeat.min.js:1
    Uncaught TypeError: wp.i18n is undefined
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:509
        <anonymous> https://<domainname>.com/wp-admin/network/theme-install.php:510
    theme-install.php:509:2
    Uncaught SyntaxError: expected expression, got '<' wp-auth-check.min.js:1
    The script from “https://<domainname>.com/wp-includes/js/wp-emoji-release.min.js?ver=6.1.1” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. theme-install.php
    Uncaught SyntaxError: expected expression, got '<' wp-emoji-release.min.js:1

    Debug.log errors:

    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Cookie/Jar.php on line 63
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Cookie/Jar.php on line 73
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Cookie/Jar.php on line 89
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Cookie/Jar.php on line 102
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Cookie/Jar.php on line 111
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82
    [10-Jan-2023 12:34:43 UTC] PHP 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/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

    Your browser console shows several essential admin files showing this error:

    The script from [admin URL] was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type.

    Please open one of these URLs in the browsers… and let’s see if you’ll get the JavaScript file to open in the browser (this would imply your server may be sending the wrong mime type), or if you’ll get a 404-Not-Found error page (hence the text/html mime type).

    Standing by.

    Thread Starter kingflashuk

    (@kingflashuk)

    I get a 500 Internal Server error and this in the apcahe error log:

    [Tue Jan 10 14:02:22.217471 2023] [core:error] [pid 7011] [client 192.168.0.2:52569] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace.

    I would point out though, that all the same browser console warnings appear with the Add New Plugin page, yet I AM able to add new plugins…

    Thread Starter kingflashuk

    (@kingflashuk)

    Agghhh…have found the offending issue!

    My apache sites config file had a ServerAlias entry against the root domain name, and was pointing to the wrong directory.

    I didn’t look at that, as I thought it couldn’t be the source of the problem, when every other page at <domainname>.com was working! Still baffled how some pages still worked while the new theme page didn’t!

    Massive thanks George, for pushing me through those debug steps…that forced me to go further back through the stack.

    It sounds like you’re experiencing a compatibility issue between the version of WordPress you’re using (version 6.1.1) and the multisite feature.

    When you activate multisite, it can change certain settings and configurations in WordPress, which may cause certain features to behave differently or not work at all.

    One possible cause of the issue you’re encountering is that there is a conflict between the code for adding new themes and the code for the multisite feature. This can be caused by a number of things, such as plugin compatibility issues, theme functions, or theme templates.

    One way to resolve this issue is to check if there are any available updates for WordPress and any themes or plugins you have installed. Updating to the latest version of WordPress and any related themes or plugins may resolve the issue.

    You can also deactivate your theme and try to activate a default theme like Twenty Twenty. If it works and you are able to add new themes now then the problem is with your theme.

    Another solution could be to check file permissions and Rewrite rules in the server. Some specific rule(s) might be blocking the access to the themes page. It is best if you reach out to your hosting support if you are not familiar with this.

    It is also important to note that some versions of WordPress may not be fully compatible with the multisite feature, and you may need to use a different version of WordPress that is known to be compatible with multisite.

    As you have mentioned, you have not seen anyone reporting similar issue, it could be your installation specific. Hence it is advisable to reach out to your hosting support for assistance. Note: I tried this for my site: digitalworldgiant.com

Viewing 8 replies - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.