EP:014 – The Cotton Club Podcast
This evening I recorded another episode of The Cotton Club Podcast with Keith Crawford, Steven Trotter, and Mitch Canter. It was awesome to have Mitch on the show w/ us this evening because he is an authority on all things wordpress in my opinion. Keith and I first met Mitch at Wordcamp Fayetteville earlier this year and have followed his streams on Twitter and Facebook since then.
The topic for this evenings show was the GPL debate going on between Thesis and Wordpress or Chris Pearson and Matt Mullenwig, however you want to look at it. We covered how the whole controversy got started and what in the world it’s all about. There have been tons of spirited debates recently on this topic so I thought it was appropriate we address it here on the show. Also, we had Mitch give us a run down of his favorite Wordpress Plugins and then we played a speed round of which plugin to use w/ Mitch. Some of the plugins Mitch covered included: Gravity Forms, Kieran’s Calendar, PowerPress, Sexy Bookmarks, and WP-Touch.
Also, as usual we discussed our favorite iPhone apps of the week. Some of the apps discussed in this episode included: DISQUS, Get Glue, iTweetReply, Boxcar, and LED Flashlight Ultimate.
Project: Wordpress Theme
One of the coolest things about Wordpress in my opinion is that when a client calls and wants a redesign or a fresh look for their website, it’s just a matter of sitting down and coding a new theme. I launched Indian Hills Country Club first in 2001 and we have redesigned the website 3 times since then, this is the first dramatic departure from their initial design that we have attempted. I used Studiopress education theme as my foundation for this design but you can tell from the finished product I spent a couple of hours this evening coding CSS and knee-deep in Photoshop. We haven’t launched the project yet, it’s still pending review but here’s a sneak peak.
Note the new logo for the club, the simple feather w/ 1973 below it. That’s something else I put together for them a few weeks ago to commemorate the year they were established. As another sidenote, I have heard some great things about the course at IHCC recently and I am looking forward to playing there very soon…
Your Thoughts on Wordpress?
I pretty much develop all of my clients websites these days using wordpress as the backend content management system unless there are some really far out project requirements that I don’t see wordpress as a good fit for. Honestly I don’t hear many project requirements these days that won’t work inside of wordpress, especially given the number of plugins that are available.
In fact, did you know that you can now deploy a plugin that will more or less turn your wordpress installation into an auction website like eBay? I was just testing a plugin for a friend a few days ago that does exactly that, and it’s pretty robust too!
This past week I have been working on a project involving wordpress 3.0 and the studiopress genesis theme framework and I have been amazed at just how much more control the end user, or client, is going to have once this version is released. Granted, there is a slight learning curve for developers when it comes to learning everything that is new w/ 3.0, not to mention how genesis from studiopress operates, but once we all get it, lookout!
For instance, I was wrestling today with a header issue on a client project and ran across Nathan Rice’s Genesis Simple Hooks Plugin, compliments of Brent Passmore, this plugin alone extends wordpress further than it’s ever been pushed by allowing the end user, or client, to input content – both shortcodes and php code, into one of the many hooks located on a websites theme. All of this from inside the user-friendly dashboard of Wordpress. Incredible. There is also the PODS CMS plugin for handling different content types and extending the wordpress custom fields option. Is there really anything you can’t push wordpress to do these days?
I know that I have a lot of developers that read my blog so I thought I would invite everyone in for a discussion on this topic, here are a few starting points:
- Do you currently use wordpress exclusively for projects?
- What are your thoughts on wordpress vs the other open source solutions?
- What content management solutions do you offer your clients?
- How much of a factor is wordpress’ name recognition becoming?
- What are some of your favorite wordpress plugins / themes?
- What are some of your likes / dislikes about wordpress?
Genesis Framework 101
I have been working on a project involving the beta release of Wordpress 3.0 and the Studiopress Genesis Theme Framework this week and I have to say the more I use this combination I can see how things are fixing to change in the CMS world. For the better too I might add.
The Wordpress 3 release is still in beta but some of the new things it’s going to bring to the table are phenomenal and well thought out. I don’t recommend running 3.0 beta on any production sites yet but I do recommend putting it on a sandbox and getting familiar with it from a developers perspective.
On the theme / design side of things, Brian Gardner and the Studiopress team always turn out awesome products. Their Genesis framework is no exception. Everyone that knows me well knows that I am a huge fan of their themes and use them for starters on a lot of projects so I have been getting a lot of questions in passing about Genesis so I figured a blog post was in order. There will be additional posts to follow but this one will touch on some of the basics.
There are a couple of things you should know about how Genesis works with child themes and of course the parent theme, Genesis. however before you dive into it. Here are some basics that I pulled from the Studiopress website to get you started…
What is a Child Theme?
A child theme is an extension of a theme framework which is comprised of typical theme elements – with Genesis, it includes a screenshot, theme files, a stylesheet, a functions file and an images folder. These elements are grouped together in what’s known as a child theme folder and can be activated like any other WordPress theme. To help explain the relationship of a child theme and the parent Genesis theme framework, I’ll go into detail with each one.A Screenshot
All WordPress themes have a screenshoot image included – typically this is called “screenshot.png”, is 600 x 450 in dimension and is a visual display of the theme, which can be seen on the Appearance > Themes page inside your WordPress dashboard. Since child themes have their own folders and are activated like any other theme, they require a screenshot like a standard theme.Theme Files
The Genesis theme framework, which in essence is the parent theme, is where all of the theme files are kept. This would include the typical theme files such as 404.php, comments.php, footer.php, header.php, index.php, page.php, single.php and so on. Child themes can also include these files – and the hierarchy works in a way that if any of those files exist in the child theme folder, they will override the parent theme. In other words, if you customize a footer.php file and place it into your child theme folder, that will be used in lieu of the one in the Genesis parent theme. Currently the only theme files that may be found in some of the Genesis child themes are a custom home.php file, which will control the way a site’s homepage will appear. If one is not a part of a child theme, then the theme will use the index.php file, in the Genesis-parent theme, for the homepage.A Stylesheet
Many theme frameworks are built in a way that imports the parent theme stylesheet, then allows for customizations to be made by way of the child theme stylesheet. While there is nothing wrong with the way that works, we’ve chosen to simplify things and just give the child theme it’s own stylesheet. In other words, if a child theme is being used, the style.css file in the child theme folder has complete control over the way the child theme looks. You don’t have to compare and sift through multiple stylesheets to look for and change style elements.A Functions File
Most WordPress themes have a functions.php file – which is typically a file where you can control certain behaviors of how WordPress is run or how the theme outputs various things. For instance, a functions file can register sidebar widgets and how they are styled, as well as a number of other “function” related things. With Genesis, the functions.php is simple – it calls the entire theme framework to run and that is the only code found there. The great thing about the way Genesis is built, is that the child theme’s functions file is where a number of things occur – additional sidebar widgets can be registered, and from a development side, custom functions are defined as well as filtered and hooked. (more on that in upcoming posts.)An Images Folder
This one is pretty self-explanatory – as with any WordPress theme, there is an images folder which is used to hold any images that a theme requires. Use this to hold background images, icons, navbar gradients, and what not.
If you are currently running MU or Wordpress Buddypress, I recommend checking out Studiopress for your themes because they have some great themes and also some links to the child theme for buddypress that are very nice. Stay tuned as I post some more notes about what’s happening w/ Wordpress 3.0 as well as our Genesis project we are helping deploy for a client.
Projects: Crawford for Congress
Another one of my recent projects has been a political website for Republican First Congressional District Candidate Rick Crawford. We were retained by the Crawford Campaign to redesign their existing website and to incorporate some new functionality to their base Wordpress installation. Given the amount of plugins that are available today for Wordpress it’s a very good choice for political candidates who might need to quickly deploy new content or applications during the campaign.
In addition to the overall website design and layout, my partners and I are also helping to manage the campaign’s social media presence. Be sure to click the link below to visit the new Crawford For Congress website.
Genesis Theme Framework Review
I am a huge fan of Brian Gardner’s StudioPress Premium Themes for Wordpress and have been for a while now. His code is always consistent, clean, and well documented. StudioPress CSS (cascading style sheets) are always very easy to navigate for adjusting fonts, colors, etc. So in the latter part of 2009 when StudioPress. announced that they were going to be launching a Wordpress Theme Framework like Thesis or Headway I knew that it was going to be top notch.
Some of you might also remember a review I did a while back on on WP Remix., which is another Theme Framework that I see a lot of potential in, I see the future of Wordpress as being dependent on how fast these theme frameworks can mature.
As I mentioned earlier, the Genesis Framework has been out since last year but tonight was the first time I have taken the time to download it and install it on my sandbox server for a test drive. My first impression was wow! The options and flexibility that Genesis brings to the table for designers and developers is unbelievable. Once you get your head around how the Child Themes function inside of Genesis it becomes even more apparent that this is the future for Wordpress.
Just a couple of things I wanted to point out about Genesis that are important…
- The Genesis Framework itself is just a very clean parent theme that is very easy to customize.
- Each Child Theme for Genesis will have it’s own home file and will make extending the parent theme out to do a lot of different things a lot easier.
- There are a ton of Advanced Genesis Widgets also available
- Genesis has also placed over 30 hooks into the theme so if you are advanced enough to code yourself, you can hook into various locations in your project very easily.
- Genesis itself serves as the foundation for all Child Themes and it must be installed in the Themes directory before any of your Child Themes will function.
- The Genesis Theme Framework is extremely SEO friendly and will allow you to setup exactly what you want the search engines to see when they crawl your website.
- Currently there are 3 layout options with the Genesis Framework: content/sidebar, sidebar/content and content/sidebar/content. This configuration can be changed on individual pages as well.
- Genesis also has some Child Themes available now that interface with BuddyPress.
- StudioPress already has released a ton of child themes for Genesis and there are more and more showing up everyday for Studiopress premium members.
Projects: Wordpress Themes
In case some of you haven’t noticed, I have been relatively quiet lately. The reason for my silence had a lot to do w/ the fact that I somehow managed to simultaneously catch the stomach virus and flu at the same time. Fortunately I am doing a lot better. While getting caught back up on my workload I noticed that I haven’t posted any of my most recent projects for quite some time now.
I will be launching a few individual posts related to Pleth projects that I have been working on lately, so stay tuned for those later, but I wanted to be sure to point out 2 new layouts, or Wordpress themes I had a hand in creating or modifying for a strategic partner in the hosting industry. You can click on the screenshots below for a larger view of each theme.
Since both of these projects are not quite finished so I don’t have any links posted to the live websites yet but stay tuned and I will post a follow up about each project.
WP Remix 3 Template Review
I have had the WPRemix3 Template system for a while now but only recently dove into it to actually use on a client project. My reluctance was that it’s not your typical template and I knew that there would be a learning curve for me to get up to speed with it and to feel comfortable enough to deploy it on client projects.
After spending an hour or two reading the PDF that came with the source files I figured I would give it a shot on one of my sandbox Wordpress installations. I was surprised at how fast I was able to wrap my head around it and was kicking myself for not using it sooner.
When it comes to themes for Wordpress I typically like to work with Brian Gardner’s StudioPress themes or WooThemes for a starter template and build around that but with WPRemix3 Template system I was able to design the template from the ground up. There are tons of available layouts that you can chose from to conquer just about layout scenario you can imagine. Even the rare event where a client has way too many pages with long names for the standard horizontal navigation and you are forced to go with a vertical menu (which I ran into today w/ one of my newest client projects).
In addition to a wide variety of page layouts, you also have the ability to chose from different header variations as well. This is nice for sites that will have a different header on their home page but on internal pages you can utilize a shorter, minimalistic header. This is something that I have rarely done in the past but I can see this having value down the road when I design a clients layout from scratch.
Another thing that is an option with WPRemix3 Template system that I haven’t been able to look at very closely is the ability to add a magazine style layout, which is extremely popular today. I would imagine that my next project that requires a magazine style layout I will give this theme add-on a closer look, but for building somewhat static sites in Wordpress this is a gem. *Link to the WPRemix Style Gallery
Lately I have been leveraging Wordpress as an overall CMS for clients due to it’s simplicity and how easy it is to bring them up to speed with managing their content. With WPRemix you can clip out the blogging aspect of Wordpress altogether if you want, which makes it nice when the client is adamant about not wanting to have a blog on their website.
In addition to a wide selection of page layouts (home pages, gallery pages, product pages, inner pages, etc.)and header variations that can be mixed and matched on select pages you can also select from a couple of sidebar options. For instance, on one of my projects I was working on today I used a totally different sidebar for the corporate blog area than I did for the static content pages that the public is greeted with. There is simply a link to the blog on the static side of the site that more or less opens up a whole new world of content when the visitor goes there, but yet the site content is managed completely from inside of Wordpress. This makes so much more sense to me than when you see a static site linking out to blogger or free wordpress, this has always left me puzzled why larger corporations would do this.
Getting Around in WPRemix3: Under the Hood
The WPRemix3 Template system zip file is larger than your average Wordpress theme so it takes a little bit longer to upload it, but go ahead and load the entire directory even if you think you aren’t going to need some of the template files. I found today that I could just copy elements from one sidebar to another sidebar by copying and pasting and it cut down my actual coding time quite a bit.
The CSS files are all documented really well and I really like the way they have their navigation styled, you can literally change the entire color scheme with just a few edits to the stylesheet. A lot of these templating solutions that I have seen just overwhelm you with CSS documents that take you an entire afternoon to get your head around. This wasn’t the case with the WPRemix3 Template system, I am dangerous when it comes to tweaking CSS, mostly because I came into the business in a time when we hadn’t ever heard of CSS, it was tables and font tags. Being able to navigate around and tweak the stylesheets without a lot of digging around is a huge thing for me, that’s part of the reason why i like Brian Gardner’s themes so well, they are very intuitively styled.
What’s the Downside to WPRemix3?
Probably my biggest thing w/ the Remix theme solution is the fact that you can’t just unzip it and run it out of the box without having ever worked with it before. It’s imparative that you spend 30 minutes to read their documentation and have a general idea how it operates before you activate the theme and just go to work. I say this because my first experience ended in frustration and I didn’t look at it again for several months.
Another thing that I would probably have done differently with the theme is that I would have changed the way that the sidebar templates interact with the widgets inside of Wordpress. I still haven’t gotten my head around their reasoning on this just yet but it’s not as simple to run widgets with the WPRemix solution out of the box as it is with some of the other themes on the market such as Brian Gardner’s StudioPress or WooThemes.
Getting Help and Troubleshooting Problems
I haven’t really hit a snag yet that I haven’t been able to figure out on my own but I will say this, the WPRemix3 team has a great reputation for responding to those who have issues, just google WPRemix3 and you will see some blog posts out there praising their efforts. In addition to the WPRemix support people there is also a pretty good community of developers out there that are more than happy to help out if anyone should need them. This is pretty much the case with everything related to Wordpress I have found.
How About the End User?
One thing that’s a little bit different with the WPRemix3 theme that I haven’t had to encounter yet but I can see it as a slight stumbling block is how the template files and the Wordpress editor interact with each other. For example, if I want to have 2 column layout on the homepage of the site, I simply pick out the 2 column layout template and click the ‘send to editor’ button and voila, there is the code inside the visual editor for the client to work around. Now, the code that you see in the visual editor does have some tags associated with it that will need to stay in place for the pages to display right. For example, if I go to select the ‘Home Page 06’ layout for a particular page, I click the ‘send to editor’ button and this is what it sends out to the editor:
<div id="content-wrap">
<p class="remix">[REMIX]</p>
<div id="banner3">
<div class="b3content">
<h2>Your Site's Main Punchline comes here! dolor site amet disate <span class="black"> Praesent aliquam, </span> justo convallis luctus rutrum.</h2>
<p class="remix">The secondary text explaining your site/business purpose like what and how it does etc. Below are the few options that you could use to highlight main features of your site/business.</p>
<a class="button alignright" href="#">getstarted now</a></div>
</div>
<div id="threecoulums">
<div class="threecolumns-in alignleft">
<h2>About Us</h2>
<p class="remix">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis.Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis.</p>
<p class="remix">Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. Fusce varius urna id quam. Sed neque mi, varius eget, tincidunt nec, suscipit id, libero. In eget purus. Vestibulum ut nisl.</p>
</div>
<div class="threecolumns-in alignleft threespcaer">
<h2>Photos</h2>
<div class="flickr">[php] $wpr_flickr_id = get_option('wpr_flickr_id'); [/php] <script src="http://www.flickr.com/badge_code_v2.gne?count=10&display=latest&size=s&source=user&user=[php] echo $wpr_flickr_id; [/php]" type="text/javascript"></script></div>
<div class="testimonials">
<h2>Testimonials</h2>
[php] include (TEMPLATEPATH . "/includes/testimonials.php"); [/php]</div>
</div>
<div id="sidebar">
<h2 class="threetitle">Services</h2>
<p class="remix">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante.</p>
<h2 class="threetitle">Latest News</h2>
<ul>
<li class="remix">Do not remove</li>
[php] $wpr_exclude_news = get_option('wpr_exclude_news'); $recent = new WP_Query("cat=$wpr_exclude_news&showposts=5"); while($recent->have_posts()) : $recent->the_post();[/php]
<li><a href="[php] the_permalink(); [/php]">[php] the_title(); [/php]</a></li>
[php] endwhile; [/php]</ul>
</div>
</div>
<p class="remix">[/REMIX]</p>
</div>
Now, it’s only going to take a second for me to explain to my clients how to interact with this type of code, and honestly they could figure it out themselves probably, but it has a different look to it and can possibly be intimidating to a user who isn’t familiar with tags, etc. However once they figure out to swap out the Lorem Ipsum text with their own content I think it’s going to be smooth sailing from then on out…
In closing there is one other feature of the theme that kind of makes it unique. A lot of settings regarding the theme can be edited inside of the Wordpress admin area by clicking on the ‘WPRemix Options’ tab that will be located on the left sidebar of the dashboard once you install the templates. I really like it when theme designers do something like this because it makes it easier for the end user to find as well as cutting down on some of the things we, as developers, would have to consult with the client to talk about before doing any actual coding. I have seen other theme developers such as Brian Gardner and WooTheme’s both doing this as well and it is a nice convenience.
#RefreshCA Wordpress Code Camp Brainstorm
It’s impossible to attend a meeting of the Central Arkansas Refresh Group and not have someone bring up the topic of Wordpress. I just thought that I was the head cheerleader for wordpress in this area until I started hanging around with some of the #RefreshCA guys, they love it just about as much as I do. A few months back we had Daniel Spillers from UALR’s web team do a presentation on wordpress and it was probably one of our most popular meetings since the group formed. You can see my blog post about Daniel’s presentation here.
Given my fascination with Wordpress and my desire to learn even more about it, I posed a question to the group today on Twitter to see if there was any interest in having some sort of Saturday Code Camp of sorts dedicated only to Wordpress. I am not even quite sure in my head what such an event would look like, but I think it would be an awesome experience if we could pull something like this off.
I know that personally I have already picked up a lot of things from the group by just hanging out with them for an hour or two each month, and I can only imagine how cool it would be to have a code camp type setting where there wasn’t a speaker or presentation type of thing going on, instead it would be more interactive.
Here’s kind of what I was thinking, please add to the list…
- Plugin Discussions: we could each discuss what plugins we actively use on projects and learn ways to tweak or better utilize their functionality.
- Plugin Development: We could also discuss plugin development and what all is involved with authoring your own plugin, more here on plugin development. I have had a small role in a few plugin projects in the past and I know that there are probably a few others and we can probably dive pretty deep into this topic.
- Core Hacking: we could discuss ways to further extend wordpress beyond what’s available through the use of plugins, etc. Here’s an example of a recent hack that I had to implement for a client.
- Theme Development: we could also discuss theme development, and what goes into designing a theme for wordpress. We could also touch on some of the design generation tools that are on the market as well, such as Artisteer.
- Performance: another good topic of discussion could revolve around performance related issues with wordpress such as caching.
- Enterprise / Multi-User Applications: possibly a member of our group has some experience with wordpress MU or enterprise and can give us some input on that end of the spectrum.
These are just a few areas that I am throwing out there, if you have some additional wordpress related topics you think would be interesting, please feel free to comment them out so we can have a list to work from when we are finally able to put something like this together.
The possibility that something specialized like this could spawn from our Central Arkansas Refresh group is kind of cool to think about because there are potentially several other specialized applications like Drupal, Joomla and MODx that could spawn out of it as well. Darren Huckey is currently working on setting up a Drupal user group for Central Arkansas right now and as soon as he has the details on that I will be sure to share that on here as well.
Not that there is anything wrong with our existing format for the Central Arkansas Refresh Group meetings, I love the presentation / question and answer format and really enjoy the fellowship, but I think a specialized code camp type of setting could really be awesome.
Another thought, for this meeting we would probably need to find a good location that’s free from distractions and has a strong enough signal for all of us to be online at the same time. Since this is a specialized type meeting, different from the broader scoped Refresh meetings, we will likely have a smaller turnout so a smaller venue might work well. Thought’s, anyone?? Hit me back and let me know what you think…
Product Review: Artisteer / Wordpress Theme Generator
I have been using Artisteer’s Theme Generation software for a few weeks now and I have to say that I have been very pleased with it so far. I use the WYSIWYG theme generator as a way to layout or brainstorm themes for client projects. This is sometimes a lot faster than customizing an open-sourced theme or purchasing a premium theme to use as a starter layout.
With Artisteers software you can also generate themes for Drupal and Joomla as well as Wordpress. This is pretty nice if you want to keep a consistent look and feel across multiple installations. One of the things I like most about the code that Artisteer generates is that it’s pretty user friendly, and you can easily tweak the stylesheet settings using third party applications like Topstyle. The php files generated by Artisteer are also pretty easy to get around in as well, I typically make a few rounds of modifications to both my header and footer files once I have generated my theme, and have never had any issues.
I know of a few other developers who have downloaded and been trying the Artisteer application since I first blogged about it a while back, and I have heard nothing but rave reviews from them in regards to the software as well. If you are using Artisteer, I would love to hear your comments as well. For more information or to purchase Artisteer software, click the link above…






