Do We Need to Know Code in Order to Work with Thesis 2?
Okay, everybody that was a little bit more than 5 minutes in fact, I have been sitting here talking to myself for a little while having forgotten to unmute my microphone. Anyway, I’m available now for questions. Ruth asked whether or not she needed to know code in order to work with Thesis 2. Ruth, by in large the answer to that question is no. The thing is that, you’ve come into a class that is a pretty advanced programming class and it’s specifically designed for people who want to know the code, want to learn the code and want to use code to advance their designs.
The typical member of this class is a professional web developer who was designing skins for sale or distribution or is using them on clients’ sites and the typical web designer or Thesis website owners are not going to need to know this kind of information. If you know a little bit of HTML and CSS, that’s going to get you an awful long way before you have to start learning some code like this and this kind of instruction is specifically for people who really want to know this kind of stuff.
Where to Look for Information on Thesis 2 Version Changes?
Anybody else, does anybody else have a question? We covered a lot of material here today and a lot of sort of detailed material and we’d love to answer questions related to this if you do. Andrea asked, what’s the best place to look for information regarding Thesis 2 version changes? Wow, you know there’s no good place yet. I suspect that we have one more round of potentially significant Thesis changes yet to go before stuff settles down.
The only reason I suspect that is that Chris’ delaying putting out the personified theme and my guess is that, he’s delaying that because as he’s been creating it, he’s realized there were things that he felt like needed to be implemented into Thesis 2 before releasing that skin. That’s my guess but I know there are a couple of things that developers would like to see in the backside of Thesis 2 like a real easy way to add administrative menus to packages and a way for you to add and create a package within a box.
Right now, you can create packages as we’ve been doing today in skins but you can’t create them in boxes and developers are asking for a way of being able specifically make a single installation of a box and have that also create a package. That’s something to keep your eye open for but there is currently no single source of changes, I find them as I work my way through it. It could be that Thesis 2.0.3 is the version that sticks around for a while and if it is, then I would suspect that when the next version comes, that it’ll be easier for us to be able to identify what the changes are but right now, Thesis’ has been undergoing enough changes between 2.0.1 and 2.0.3 that I don’t think there isn’t a good list.
Anybody else? This is a cool subject, this ability to create packages and it took me a long time to figure the whole package thing out. Next week’s class will be as long this one is and actually, I’m just going to give you a little foretaste of this while we’re looking at this, tutsplus has this tutorial about responsive menus. I guess this is it, no this isn’t it actually, this isn’t the one I’m doing, I am doing a different one.
Let’s go to Lesson 10, I’ve already put Lesson 10 up and I think I’ve got the original tutsplus tutorial. This is the one that I’m doing and it has some errors in it so we are correcting these errors then we’re going to change it up to work with Thesis but we’re going to be following through this tutorial and creating this kind of a menu so that you can drag and drop them around inside of a Thesis template and so that your user can style the colors and sizes and that kind of stuff.
What Is the Difference Between a Box and a Package?
Now, David asks, what’s the difference between a box and a package? The important difference or one of the important differences between a box and a package is that, packages don’t get loaded on a page load and boxes do. So packages are only loaded when you’re logged in as the Admin and you’re working on the back side.
Now, one of the things that it does is, then that speeds your site up or reduces the amount of memory that your site has to process because it doesn’t have to load any of the package code into memory and it doesn’t have to process any package code or ask any questions about package code or download any package code options or any of that kind of stuff.
One of Chris’ ideas was to segregate options and code into the sections that only need to be added during the Admin and sections that should be added during the regular processing of a web page so boxes get loaded everytime, packages only get loaded on the Admin side, that’s one big difference.
The second difference is that packages are specifically designed to write CSS and boxes are theoretically specifically designed to write HTML but you can actually write CSS in a box. I mean you can essentially do anything that WordPress can do inside of a box. Inside of a package, you can only do things that WordPress can do on the Administrative side because the packages don’t get loaded. On a practical standpoint, we think of this as boxes being sort of the underlying functionality in HTML and packages as being CSS and that’s really sort of the fundamental difference between the two.
The hard thing about learning packages was Thesis CSS API is kind of our cane in figuring out what each of these things does and how you can tie into them and how you can make them behave the way you want them to behave. That took me quite a while to figure out actually and maybe it’s just because I’m slow but the Thesis CSS API seems to me to be, if you have to figure it our yourself without anybody being there to explain it to you, seems to me to be very complex and so that’s what took me so long.
I think it’s very unlikely that there will be any kind of significant documentation about the CSS API, I think even Chris thinks of it as complicated. You can see that on the things that they promised, they promised skins and they promised boxes but they’ve never promised packages.
I may not be right but I believe I’m the only person who has created packages for public distribution. I haven’t seen anyone else creating packages for public distribution yet so the whole package thing is just a little bit more complex which means that since you’re in this class, you’re ahead of the curve. The packages are very, very powerful and if you take a look at my Agility Skin, you’ll see that I’ve made extensive use of packages but they’re not simple.
Resources for Learning HTML, CSS and PHP
Let’s see, Ruth asks, where can I learn code to work on this? Well, that’s what this class has been all about. Now, if you don’t know any HTML, any CSS or any PHP, then I would suggest first, you don’t bother with trying to learn this yet. What you work on is understanding CSS and HTML concepts and later on this year, I will be redoing my Customize Thesis Like a Pro course to cover Thesis 2.
Customize Thesis Like a Pro does have a lot of very relevant information to this, there’s a lot of good stuff but it doesn’t have any Thesis 2 specific information right now and there isn’t any other place. I mean, I think I’m the only game in town for technical education related to Thesis 2 so you found the only place and I started this class before I started the beginner’s class because frankly, it’s easier to teach this that it was to teach the beginner stuff for me.
Now that I’ve gotten to where I am, I’ve started teaching the beginner’s class, of course we’ll have another class of that tomorrow. Once this class has finished sometime here in the spring, we’ll be working on creating the course Customize Thesis Like a Pro which will start off with HTML and CSS and work its way through PHP and all the way through this.
What’s the Next Step in Learning PHP after Customizing Thesis Like a Pro?
Andrea asks, what’s the next step in learning PHP after Customizing Thesis Like a Pro? Well, I presume you’ve already worked your way through all the lessons here and there’s actually quite a bit more PHP in the Child Theme class. Before Thesis 2 came out, I imagined that the Child Theme class was the logical extension of Customize Thesis Like a Pro. Ken is suggesting that there are other sources of PHP education like joyofphp.com, I’m not actually familiar with that site.
It may make sense for you to just look at regular PHP stuff although the thing is that, WordPress PHP is different than standard PHP and Thesis PHP is different than WordPress PHP. So a beginner’s PHP course can be useful but it doesn’t necessarily help you understand the basics of WordPress PHP.
If you already worked your way through Customize Thesis Like a Pro, then maybe going back and taking up a basic generic PHP class is a good idea just because there are things you’re going to learn there that you won’t learn if you’re just learning it from a WordPress perspective. The PHP class that I liked although I haven’t looked at it for a couple of years was the one that SitePoint put together.
Other Resources for Learning PHP
SitePoint has a very inexpensive PHP class. If you want to learn PHP for WordPress and you want to learn it outside of the context of Thesis, then I would say that there are a couple of good books. Actually, there’s the Wrox Professional Series for WordPress that just had the best actually. Let’s see if we can just find WordPress.
Professional WordPress is a bit out of date. It was published in 2010 so it does in fact, cover WordPress 3 but nevertheless, it skips over some very critical things like the settings API and stuff like that, that really you need to understand. Professional WordPress Plugin Development is excellent, it does a very good job of talking about some of those things but it’s also a little bit out of date now because it’s almost 2 years old.
Who else has a good book on WordPress PHP that would be Packt Publishing and they do have a pretty good WordPress library. Unfortunately, I own more books of theirs than I’ve had a chance to read. The Plugin Development Cookbook is decent, Plugin Development Essentials is very basic. WordPress Theme Design is useless because it’s entirely different now. WordPress 3.0 jQuery is probably not bad.
WordPress 3.2 Theme Design is probably not a bad one but it’s hard to get good reference material that’s accurate and up to date and covers the stuff in something that’s more than a cursory fashion, I don’t know. I tried to read everything I possibly can on it and I’ve found that I still have to figure stuff out from scratch on my own because things that are really important don’t really get talked about.
The Basics of Structuring PHP Statements
Someone asked about, what about the basics of structuring PHP statements? I guess I’m presuming. Interestingly, functions as an element of PHP sort of show up midway through a beginner’s class and WordPress users use functions right off the bat quite a bit but a standard beginner’s class would probably help you understand the basics of structuring a PHP statement although beginner’s classes aren’t going to ever come close to touching stuff that we’ve talked about like we’re doing with boxes and packages where we’ve jumped right into the middle of object oriented programming without really talking about it.
We haven’t really talked about the technical aspects of object oriented programming except showing you patterns for using it in its context. I haven’t really found a good resource for explaining object oriented programming in the context of WordPress, if somebody knows that one that would be great but I don’t know of one.
Learn a Book Class at SitePoint
This is certainly an inexpensive way to dive into the sort of the basics of it but obviously, this Your First Database, none of this kind of stuff is relevant and you may even try doing some of these kind of stuff with the WordPress and it would be horrible to do because you would be breaking WordPress’ security. There are aspects of this that are entirely outside of the context of WordPress and in fact, we never really interact with the database directly and WordPress.
You can interact with it but I’ve never taught anything doing that because what we do is use WordPress functions to extract information from the database instead but the whole concept of structured PHP programming sort of falls by the way side when you start talking about object oriented programming. I thought it was an excellent class, I got a lot out of it, I certainly enjoyed Kevin’s presentation style and it’s inexpensive so it’s certainly a good alternative. There may be classes that aren’t as good as that.
Well, it doesn’t look there are any other questions so I’m going to call it a day here. I hope everybody has a lovely rest of the day and a lovely weekend. Thanks a lot, bye.