21

Having a really baffling issue with permissions, WordPress and theme files.

I have a fresh install of WordPress and tried uploading the theme I made for my client. It uploaded fine but it doesn't show up in the Manage Themes menu. I checked everything was uploaded and it was. Checked permissions (even set them to 777 at one point) and they were fine. But the theme doesn't show up.

Here are the different scenarios I've tried:

  • Using the Install Themes menu and uploading a .zip (failed)
  • Duplicate twentyten folder and contents (worked)
  • Duplicate twentyten folder and used my theme files (failed)
  • Duplicate twentyten folder and used my theme files and their style.css (failed)
  • Uploaded my theme WITHOUT style.css (gave missing style.css error)
  • Uploaded my theme WITHOUT style.css and put in twentyten/created one from scratch (both failed)

I'm on my clients MediaTemple hosting and I've never encountered this error. Their support has yet to get back to us.

Does anyone have a similar problem? Solution? It's possible I can give you FTP access if needed.

CSS Head (changed values but format and everything is still the same):

/*
Theme Name: Example Theme
Theme URI: http://example.com/
Description: WordPress theme
Author: Company
Version: 1.0
*/

Edit: Trying to access the folder through my browser results in a 403 error (works fine on twentyten). style.css can be viewed from the browser.

Andrew Ryno
  • 659
  • 1
  • 7
  • 17
  • Can you show your style.css's head? – Pekka Nov 10 '10 at 21:21
  • Added to original question. Formatting wasn't working as a comment. – Andrew Ryno Nov 10 '10 at 21:24
  • Strange. The only idea that comes to mind is style.css getting screwed up by either FTP transmission (Line endings, stuff like that) or style.css getting a [BOM](http://en.wikipedia.org/wiki/Byte_order_mark) by your editor, and that BOM messing up the parsing. – Pekka Nov 10 '10 at 21:25
  • Well I thought that it could be from FTP transfer as well. So rather than uploading the file, I created one (through Transmit.app) and then copy and pasted my stylesheet in there. Same effect. – Andrew Ryno Nov 10 '10 at 21:32
  • happy to investigate for you if you want... inbox me – Craig Wayne Apr 25 '18 at 21:51

11 Answers11

21

If you are using a MULTI-SITE installation of Wordpress, you have to first go into Network Admin, select Themes from the left menu and enable the themes you like to use before they can appear on the "Manage Themes" page in the Site Admin section.

Per Quested Aronsson
  • 11,380
  • 8
  • 54
  • 76
Henrique
  • 211
  • 2
  • 3
10

Perhaps you are missing a required template file?

At the very minimum, a WordPress Theme consists of two files:

style.css

index.php

http://codex.wordpress.org/Theme_Development

Craig
  • 972
  • 3
  • 13
  • 38
9

On Ubuntu 14.04 you can install the wordpress package simply using sudo apt install wordpress but then you have to set a link to the themes directory.

E.g. for your "newTheme":

ln -s /usr/share/wordpress/wp-content/themes/newTheme /var/lib/wordpress/wp-content/themes

Valerio Bozz
  • 1,176
  • 16
  • 32
Rolf
  • 91
  • 1
  • 1
  • 3
    WHY??!? WHY, UBUNTU?!? Do you have to ubuntuize _everything_? This answer deserves to be higher - Ubuntu installs a complete Wordpress in `/usr/share/wordpress`, but sets WP_CONTENT_DIR in the default config to point to `/var/lib/wordpress/wp-content`, which has symlinks to `/var/lib/wordpress/wp-content/[symlink]`, a _special copy_ of `wp-content` ... just like NOBODY EVER would expect. Thank you for unblocking me after hours of troubleshooting. – Matt Aug 26 '15 at 21:20
  • @Matt If you want the WordPress package provided by Debian and all other Debian-based distro means you probably want to have something as: *one* installation of WordPress for thousand of websites; upgrades handled by your package manager (for every website, instead of manually for each website); stability in mind; and files placed in the right standard way of your distribution. The way it's packaged allows it. So, if you do not understand the Filesystem Hierarchy, it's your problem. http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html – Valerio Bozz Aug 29 '19 at 05:54
1

I bet you have some special characters in your templates. This once drove me nuts to find. Check your Template files and/or rename them until the theme shows up. I used a german "ö" in a templates name.

weed
  • 11
  • 1
  • Seeing as the OP is from Scottsdale, Arizona, it's kind of unlikely... But very good point, applies to all non-ASCII characters. Maybe this is it. – Pekka Nov 10 '10 at 22:24
  • I did have an ampersand in the CSS Theme name, but that didn't seem to be the issue as I removed it trying to see if that was the problem. – Andrew Ryno Nov 10 '10 at 23:31
  • +1 This could be another reason why the theme is not registering in the theme list. then you need at least the index.php, style.css files – fedmich May 02 '12 at 09:53
1

I had a very similar problem. Spent a few hours before I found that somehow when I moved my local site (probably using All-in-one Wp Migration plugin), a .htaccess file was created in the /wp-content folder. I don't remember what was inside this file but I think it didn't matter. After removing this file everything was ok.

drazewski
  • 1,739
  • 1
  • 19
  • 21
0

As I discovered at the end of tortuous troubleshooting, an old wp-config.php may cause newly installed themes to be undetected and invisible in /wp-admin/themes.php - I am not sure that you have the exact same problem but it looks very similar to mine and you might want to try your configuration with a wp-config.php newly generated by Wordpress.

0
  1. Make a backup of your styles.css
  2. Copy the styles.css file from twentyforteen to your theme folder.
  3. Only change the template name at the top of the file
  4. Re-load the themes page in WordPress admin; once you've seen it working,
  5. Further-modify the new styles.css file as needed.
Meetai.com
  • 6,622
  • 3
  • 31
  • 38
0

Is the theme folder name different than everything else? Is the Theme Name in style.css different than everything else?

Mike Wills
  • 20,959
  • 28
  • 93
  • 149
  • I have the directory as "exampletheme" and the Theme Name in style.css as "Example Theme". All my @subpackage values in the .php files are "exampletheme". Edit: Changing any of those to be all the same has no effect. – Andrew Ryno Nov 10 '10 at 21:28
0

I am guessing BOMs are the problem. They messed up my validation of a page once, as I tried to remove the BOM. Try using an editor and remove the BOMs. For Notepad++, the text editor I use, I just set the encoding to UTF-8 without BOM and saved. That solved my problem. Of course, your text editor may be different.

Kevin Ji
  • 10,479
  • 4
  • 40
  • 63
0

The problem could have been, that you uploaded it in .zip

0

Your php setting might disable the scandir. It may cause the wordpress cannot scan the theme folder

Solution: find php.ini. You may run php --ini to get the php.ini file location.

Open php.ini,Search for disable_functions, then you may removescandir parameter. Save and restart your php services.

Shiro
  • 7,344
  • 8
  • 46
  • 80