Welcome to Lesson 1 of the Customize Thesis Like a Pro tutorial series. In this lesson, you’ll learn about managing and maintaining your Thesis theme Customization File Structure. This lesson assumes that you have a WordPress installation and that the Thesis theme is installed and activated.
In the first part of this lesson, we’ll examine the default file structure of a WordPress installation. And because it’s different in many different hosts, I’m going to do this in 3 of my hosting accounts. Each of those web hosting accounts has entirely different control panels and so we’ll look at the differences and the similarities between them. Hopefully, if yours is not the same, then you’ll still be able to figure out how to do it on your own by looking at these examples.
Control Panel of Various Hosting Companies
We’ll begin with Bluehost. Now Bluehost, like most of the larger hosts, uses C Panel. So Bluehost, Hostmonster, HostGator, Inmotion Hosting, hosts like that all use C Panel. The next one we’re going to look at is Ipower Web. Ipower Web is actually the first web hosting account I ever signed up with and High Power is a very large and long established hosting provider. They use a system called Plesk. And then finally, LFC hosting is a much smaller hosting company in Canada that does combine Windows and Linux hosting and I have Windows hosting account with them with WordPress installed on it. And they have their own control panel that they’ve designed and created themselves.
Contents of the Hosting Root Directory
Let’s start off taking a look at the root directory of your host. First, look at Bluehost. Scroll down here to File Manager, let’s check the File Manager and you can see that this is the root of my hosting account. My hosting account is byobtutorial.com and so the root of this hosting account is home2/byobtuto and inside this root, I have a variety of folders. Most of these folders are actually created by Bluehost. I believe that I created Site Backup and Temp. The most important directory that we’re going to look at is public_html because public_html is actually the root of my website.
Next we come over to Ipower and we do the same thing. We select File Manager and here is the file system that exists on my Ipower hosting account. You can see that I have a couple of redirection folders, something called PHP sessions, public_ftp and then my public_html. And again public_html is the root directory of the website and this is the root directory of my hosting account. In here, it’s called root. At BlueHost it was called home2/byobtuto.
And over at LFC hosting, we’re going to do the same thing. Go to File Manager and in this case my root directory doesn’t even have a name. At least, not a name that’s displayed here. Inside of that root directory, we have a folder called backup and I have some other folders. And then I have my folders for my domain names and so I have rickandersonarchitects.com pointing here. I have summitarchitects.com pointing here. And these are the roots for each of the domains.
Contents of the Website Root Directory
Let’s go back to Bluehost and take a look at that content. Double click on public_html, this is now the root of my website. In this root I have a whole bunch of directories and each of those directories actually represents a subdomain. So I’ve got childtheme.byobtutorial.com and demo.byobtutorial.com. If you watch my Ecommerce video tutorials, you’ll notice that I have a whole bunch of e-store sites that I created for the purpose of demonstrating various elements. And then I have the intermediate.byobtutorial.com and that’s all inside the root of my site directory which is called public_html.
In addition to all these subdomains, I also have my WordPress installation. And you can see that WordPress installation in wp-admin, wp-content, wp-includes and then over here on the right hand side, a whole bunch of files associated with that. All of these files are included in that WordPress installation. So at Bluehost, in the root of my website, I have a WordPress installation and then I have a variety of subdomains, each of them with their own WordPress installation.
Now we take a look at Ipower and see how that’s set up is different. Open public_html again; this is now the root of my website and in the root of my website, I have 3 domains. I have thesisforbeginners, I have rickandersonaia, and I have the Hungry Architect. Each is a different domain that is hosted on this account and within each of those domains is the WordPress installation. Let’s lookat Hungry Architect and you can see that we have a lot of different folders related to the non-WordPress site. And then I put the WordPress site in this subdirectory of Hungry Architect called blog and inside of that blog, is my WordPress installation. So at Ipower each of my domains is within the public_html directory. These are not subdomains, these are actual domains and inside the domain, in particular, Hungry Architect, is the blog as a subdomain.
Next we come to LFC hosting and it’s quite a bit different. In LFC hosting, we have rickandersonarchitects and summitarchitects and both of those are domains. And inside the summitarchitects domain is a WordPress blog. There is also a lot of other stuff that is completely unrelated to WordPress but there is the subdirectory called blog and in that is my WordPress installation.
I went through these to show you that there are differences in the way you access your WordPress installation based on the different hosting accounts. So, if you’re working off of Bluehost or Ipower, you can follow my directions explicitly. But if you’re working with another Host that doesn’t use one of these 3 systems, then you’ll need to figure it out but these different versions should help you narrow it down on your own.
WordPress Default File Structure
Now let’s take a look at the File Structure and while there are differences between each of these hosting companies, once you actually get to a WordPress installation there is no difference whatsoever between them.
I want to point out that WordPress can be installed either in the root of your website or in a subdomain or a subdirectory of your website. And in this case, we have it in both places. We have WordPress installed in the root here down which you can see by the wp-admin, wp-content, and wp-includes. And we also have WordPress installed in the root of a subdomain of that site or in the subdirectory and you can see that wp-admin, wp-content, and wp-includes. So you have choice with some hosts as to where you’re going to install WordPress and whether it’s inside of the root of the website or it’s in a directory within the root. Regardless of where WordPress is installed, you’re going to end up with the same kind of file structure once you get to that installation.
The installation consists of a whole bunch of configuration files. You can see them starting off with this 400.shtml and it goes all the way down to xmlrpc.php. These are all configuration files for your website and they are part of the WordPress core files. And there is no reason for you to edit these. The only one that you’ll ever edit, and you only have to edit if you will have a problem, is wp-config.
Next is this directory called wp-admin which contains a bunch of directories itself plus a whole lot of files. You are never going to edit or change any files inside of this directory. Wp-admin exists as a place for WordPress to contain all of the files that run your dashboard of your WordPress website. Everything that runs in the background or is on the backside of your website is handled inside of wp-admin.
Then you have wp-includes. And wp-includes is very much like wp-admin in that there’s never going to be any reason for you to alter or change any files inside of it. Wp-includes has all of the files that are necessary to run the front part of your site and there’s nothing in here that’s user editable. These are all WordPress core files and there’s never any reason to hack a WordPress core file.
The third directory you have is wp-content. Now wp-content, you will in fact, edit. Or at least, you’ll edit the contents of wp-content and if we open up wp-content, you can see that in a default installation, wp-content will have a directory called “plugins” and a directory called “themes”. Plugins will have all of the plugins that are installed and themes will have copies of all of the themes that you have installed. And you can see in here I’ve got a thesis_18 installed and a thesis_child theme installed and a twentyten theme installed. So those are the three things that I have in this directory under wp-content on childthemes.
There are often other directories as well. If we go to demo estore, you can see that under wp-content there’s also an upgrade and an uploads. Upgrade is created by WordPress when you upgrade your site and uploads is created by WordPress when you add anything to your media library. So that’s what’s going on with these files or these folders.
From time to time plugins that you use will also install directories. The number of directories in wp-content has a way of growing but that’s the only place that plugins will write files and folders.
Thesis Theme File Structure – Default File Structure
Finally, I want to take a look at the Thesis theme folder. Right now we’re working with thesis_18. This has been exactly the same in Thesis 1.6 and Thesis 1.7. So if you’re looking at this in Thesis 1.9 or 2.0, chances are it’s going to be exactly the same.
Thesis 1.8 has this file structure. First off, it has Thesis core files like archives, comments, custom template functions, index, and no sidebars. These are core files of Thesis and you should not anticipate editing them. They should remain unedited all the time.
Next, you have this directory called “library” and inside of “library” are all of the different Thesis files that again make up the core of Thesis which you also will never edit.
And then finally, you have this custom-sample folder. The custom-sample folder in Thesis contains files and folders that you will edit. So for example, the cache directory, that’s actually a place where the thumbnails are stored when Thesis automatically generates thumbnails. Images is the place where you will put images directly related to your theme. Rotator is the place where you put images that you want to use in that multimedia box rotator and it comes pre-loaded with these sample images which you’re all very familiar with. And then it has a couple of files – custom.css and custom_functions.php. And that is the Thesis file structure.
And that wraps up Part 1 of the first lesson in the Customize Thesis Like a Pro tutorial series.