Showcase - WordPress

StudioPress is happy to announce the release of the AgentPress 1.0 child theme. This new child theme works on the Genesis Theme Framework and can be downloaded by Pro Plus members in the support forum. All others can purchase the AgentPress child theme package here.

If you have already purchased the Genesis Theme Framework and any other child theme, you can simply purchase the child theme by itself, otherwise you need the AgentPress + Genesis Theme package.

Take AgentPress for a test drive…

We have also closed down the AgentPress.com website/support forum and merged that here on StudioPress – you can read more about the reasoning behind that if you wish. For those of you who have purchased the original AP theme, your forum account has been merged into the StudioPress forum, and you should now have access to AgentPress “classic” support forum, as well as the ability to download Genesis and the AP child theme for no additional charge.

AgentPress: “classic” Theme vs. “child” Theme

I’m sure there will be many questions, so I’ll cut to the chase – first and foremost, the most significant change is that the AgentPress child theme works with the Genesis Theme Framework. This is a robust theme framework that is now the foundation of all of our themes going forward. The frameworks’ code security is top notch (we hired WordPress lead developer Mark Jaquith to audit the code) and it has been fully search engine optimized. More about Genesis and why it’s so great….

We have changed the way we handle the Property post template – property detail fields are now customizable in the dashboard, and we’ve introduced shortcodes to place content such as the photo gallery (which, by the way is now using the organic WordPress image gallery), property detail sections and property maps. All in all, the process by which a Listing is entered and displayed is much easier now. More about the AgentPress child theme features

You will need to load, BOTH, the Genesis parent theme and the AgentPress child theme for it to work – just activate the AgentPress child theme and you’ll be good to go. Unfortunately there isn’t an easy upgrade path for current AgentPress “classic” theme users, but one of the best benefits of Genesis is automatic updates without the need to re-do any design customizations.

Here’s a screenshot of the Theme:

AgentPress Child Theme

With so many Members and visitors, StudioPress is frequently asked for recommendations for all types of services related to WordPress, websites, webhosting, and other tools. Giving advice with so many great companies out there is difficult, but from time to time, we get the opportunity to try or test them or we get feedback from a lot of sources about which is best.

With that in mind, we are happy to announce our first Premier Partner: Pagely. We highly recommend their Website Builder Service for netizens who need an easy WordPress Hosting solution.

Created in 2009 by an Arizona based creative agency, Pagely makes it easy for anyone to setup a WordPress website with little or no fuss. The monthly service totally automates the setup of WP and includes a variety of free themes, important plugins, automatic backups and Automatic WordPress Core Upgrades. Additional PowerUps are available to Pagely customers that include Premium themes from top vendors like StudioPress.com and others, along with access to customization services.

Their WordPress Hosting service is easy like WordPress.COM, but with all the freedom of a WordPress.ORG install. Pagely’s 2 minute setup is an end-to-end solution for beginners and seasoned users tired of manual setup and upgrading. A Free domain name and email service is included with every account. Pagely is simply the fastest and easiest way to set-up a WordPress website. Check out their 2 minute setup video:

We are very happy to announce the release of the Genesis Theme Framework. This has been an ongoing development project for over two months and we’re ready for liftoff! In addition, we’re also pleased to announce that two child themes are available – the Executive child theme and the Mocha child theme.

About the Genesis Theme Framework

The Genesis Theme Framework is built on a simple vanilla blog-type parent theme, and can be extended with the use of child themes. Each child theme will come with it’s own home file, which will make extending the parent theme very easy. It will also have it’s own functions file as well. In addition, we’ve built some custom widgets that will make adding content much easier on the User.

Here’s a List of Custom Widgets We’ve Built

  • My Tweets – displays an unordered list of your latest Tweets (view widget)
  • User Profile – displays the Gravatar of a user, as well as their biography and a link to an about page (view widget)
  • eNews & Updates – displays an opt-in box for users to sign up for delivery of your posts by email (view widget)
  • Featured Posts – displays post excerpts and a thumbnail to be used in a homepage featured section (view widget)
  • Featured Page – displays page excerpts and a thumbnail to be used in a homepage featured section (view widget)

The Genesis Theme Framework Marketplace

We are also in the preliminary stages of the Genesis Theme Framework marketplace, which will allow designers to develop/sell child themes here on StudioPress. You can take a look to see what a featured Designer page will look like. There are two ways to be involved in the Genesis Theme Marketplace:

  1. Designers can submit PSD designs, which StudioPress will be responsible for coding
  2. Developers can submit full child themes, which we will review for code compatibility, efficiency, etc

Now’s the Time to Become (or Upgrade to) Our Pro-Plus Membership

If you have been sitting on the fence about becoming an All Themes Pro-Plus member here at StudioPress, now’s the time – as of Monday February 8th, we will be increasing our package to $249.95. Until then, we will be maintaining our current $199.95 price – which is a complete steal if you think about it. With the launch of the Genesis Theme Framework, and a number of child themes in development, you won’t find a better bargain. And oh, did I mention that the Pro-Plus membership includes access to and support for all StudioPress current and future themes/child themes, too?

BuddyPress Add-Ons Currently in Beta Testing

We’re very happy to say that WPMU/BuddyPress gurus Ron and Andrea Rennick will be developing “add-on” packages that can be purchased/supported at Premium BuddyPress Themes. We felt that made sense, since they both have extensive knowledge with the software and how it can be implemented. You can sign up to test-drive the Genesis theme framework/BuddyPress integration over at their site.

How About Some Customizations?

Even through the beta testing of the Genesis Theme Framework, some of us have used it to launch new site designs. Chris Ford, of Creativity Included and myself have both redesigned our sites with it. Take a look:
Creativity Included

Brian Gardner

One of the features that is now being included in our StudioPress theme updates is the Author Box. This is a great way to display an image of the post author, as well as some biographical information. Many people have asked how to include them in their sites and this post explains how.

Here’s an example of the Author Box from the Corporate theme:

StudioPress Theme Author Box

If you want to include this feature into your StudioPress theme, the first thing to do is open your index.php file and place this code where you want the author box to display:

<div class="authorbox">
<p><?php echo get_avatar( get_the_author_email(), '72' ); ?><strong>
<?php _e("About", 'studiopress'); ?> <?php the_author(); ?></strong><br />
<?php the_author_meta( 'description' ); ?></p>
<div class="clear"></div>
</div>

Some of our index.php files vary, so you’ll need to be a little experimental where you place this code – generally, in the Corporate theme you can place it immediately after this:

<div class="postmeta">
<p><?php _e("Filed under", 'studiopress'); ?> <?php the_category(', ') ?> &middot;
<?php _e("Tagged with", 'studiopress'); ?> <?php the_tags('') ?></p>
</div>

It’s important that you understand what the code above does and specifically how it functions. Let’s go through it piece by piece and I’ll explain.

For starters, take a look at this code:

<?php echo get_avatar( get_the_author_email(), '72' ); ?>

This code displays the Gravatar of the post author and sets the image size to 72px – if you want to increase/decrease the Gravatar size, simply modify the 72.

Next, we’ll take a look at this code:

<?php _e("About", 'studiopress'); ?> <?php the_author(); ?></strong><br />

This code displays the Author Name, which can be specified on the User page in your WordPress dashboard.

Finally, we’ll take a look at this code:

<?php the_author_meta( 'description' ); ?>

This code displays the Biographical Info, which can be specified in the About Yourself section in the User page on your WordPress dashboard.

Now we need to add some style:

In addition to adding the code we provided to your index.php file, you will also want to add some styling elements to the style.css file. Here is the CSS that we used in the Corporate theme:

.authorbox {
	background: #F7F7F7;
	margin: 20px 0px 0px 0px;
	padding: 10px;
	border: 1px solid #E6E6E6;
	}
	
.authorbox p {
	margin: 0px;
	padding: 0px;
	}
	
.authorbox img {
	background: #FFFFFF;
	float: left;
	margin: 0px 10px 0px 0px;
	padding: 3px;
	border: 1px solid #CCCCCC;
	}

And that is all you need to add an author box to your StudioPress theme – if you have any questions about this, feel free to leave a comment. We’re currently adding this feature to all of our themes via updates, as well as including it in any new themes that come out. Oh, by the way, here’s another example of the author box ↓

There are several reasons why you’d want to show author information blocks on your site. It could be either because you have multiple authors, or you allow for guest posts on your blog. One of the reasons why people would want to guest post is because they can gain some extra exposure.

A cool way of doing this is using the built-in author functions with some extra’s to add a “Guest post by” block to your template. I’ve done this on yoast.com, and you can find an example here.

How I did this? Using Gravatars and the new author_meta functrions in WordPress of course!

WordPress has added template tags you can use to show author info and Gravatars, so it’s pretty easy. So you can just add the following code to your theme. I’ve annotated all lines, you should be able to copy paste and modify:

<?php
  // If it's not written by me (username admin), it's a guest post,
  // hence check for that:
  if (get_the_author_meta('user_login') != "admin") {
        // If it's a guest post, show the appropriate block
?>
    <div class="guestauthor" id="
      <?php the_author_meta('user_email'); ?>">
<?php
        // Make sure the image is right aligned
        function avatar_align($avatar) {
            return str_replace("class='","class='alignright ",$avatar);
        }
        add_filter('get_avatar','avatar_align',10,1);
  
        echo get_avatar( get_the_author_meta('ID'), '60' );
        // Show the author's information
?>
        <h3>Guest post by: <?php the_author_meta('display_name'); ?></h3>
        <p><?php the_author_meta('description'); ?></p>
    </div>
<?php
    }
?>

The last thing is that, in order for HTML to be allowed in user profiles, you need to add the following line to your themes functions.php:

// Allow HTML in user profiles
remove_filter('pre_user_description', 'wp_filter_kses');

That’s it! You now have cool “Guest post by” blocks on your site!

I just wanted to take a minute to announce, officially, that all StudioPress themes have been tested with the latest version of WordPress 2.8 and there are no known issues. I have upgraded all of the theme demo sites, and all of them are functioning properly. If you see any issues, please contact us.

This includes the following themes:

From time to time, I come across some excellent Article posts on blogs that I follow. In an effort to help StudioPress members expand their knowledge and improve their blogs, I will share articles that I believe will help you.

We have been asked many times about issues with sites and pages loading slowly. If you have ever experienced this problem and are looking for ways to Optimize your Blog or want to prepare in anticipation of major traffic, then you should read Vladimir Prelovac’s article, WordPress Optimization Bible.

This article is a must-read with excellent points and links to useful reference sites, as well as WordPress plugins and other tools that we have often referred StudioPress members to.

Vladimir’s “WordPress Optimization Bible” article is actually the first in a Series and as he states:

If you ever experienced slow WordPress admin panel, “MySQL server has gone away” message, pages taking forever to load or you want to prepare your site for a major increase in traffic (for example Digg front page) this is the guide for you.

this guide is definitely for you!

StudioPressAbout a month ago I introduced my newly formed design/consulting company StudioPress.

For a number of reasons, the Revolution themes will be moving over to the StudioPress site – and I am asking you to trust that this has been thought out very carefully. There are a number of things that I’d like to work on, and in order for me to move forward with them and to do what I want, it makes a lot of sense to place all of that onto one site. (ie WordPress themes, theme support, design services and other internet consulting)

Here’s an excerpt from the post that I mentioned:

StudioPress will be the parent company for all that I do online, which means ultimately Revolution will fall underneath it as a web property that I own/run. One thing I will say is that I have a lot of plans moving forward, both with Revolution and other things in general, and needed an umbrella to keep it all under. For a number of reasons, I was advised to do this.

Ok, now here are the details…

As you can see, the StudioPress website is pretty much ready to go for the transition, with the exception being the support forum. I will be closing down the Revolution Two support forum tomorrow night (February 17th) at 10:00 CST for a few hours to move it over to StudioPress. Other than that, there shouldn’t be any other downtime.

What is the impact of this decision?

The first (and most important) thing is that nothing will change to the business model and theme licensing. This is strictly a change in the branding of the themes, which means the pricing, packages, etc will not be affected.

The support forum will be moving to the StudioPress site, and all of that will remain intact. In addition, the affiliate program shouldn’t be affected either, with the exception of new advertising banners that will be made available. Obviously ones that are currently being used should be replaced, but the links that are being used will also remain unaffected and you will receive credit for the theme packages that are purchased as you have your links now.

Why am I making this significant change?

Many of you think that rebranding Revolution at this point is marketing suicide, but for legal reasons, this is something that needs to be done. (Just trust me when I say that.) Moving forward, I plan to build a company around my WordPress theme business, and this is the best way to do that.

More than anything, the rebranding of Revolution to StudioPress is my way of committing myself to the future of my theme development and support.

I have already officially hired Craig Tuller, who will be director of marketing and manage the support forum. I am also actively seeking out a few other people as well who will help build out the company. We have a number of theme concepts in the works, and even some additional projects that will work alongside the business.

A word about the GPL licensing…

I want to reiterate that my themes will continue to carry the GPL license, as they have ever since the announcement when I made a few changes. There seems to have been some confusion about this post I made, and I want to clarify the theme license. Taken from the site’s Terms & Conditions page:

The CSS, XHTML and design of these theme are released under GPL license and are in total compliance to standards set forth by the authors of that license as well as with WordPress. Theme support will only be given to those who purchase a theme package.

I fully believe in the sharing of code, which is ultimately why my themes carry this license. After all, more than two years ago, I started developing my themes based on another theme. Yes, I adopted my own css and nomenclature for all of my code, but it was exceptionally helpful to have something to look at when I first got started.

Having said that, I want to point out that the true spirit of the GPL encourages members of a community to build from and share their new efforts. It’s very sad to see how some people are misusing and abusing the license for their own personal gain, and it saddens me to see people purposely trying to exploit my work.

In closing…

I want to personally thank all of you who read my blog, those who have purchased theme packages in the past and those who purchase theme packages in the future. None of this would be possible without all of you, and I want to say how appreciative I am for those who continue to encourage and support me. Moving the brand over to StudioPress will result in a better user experience, a growing community of users and better theme development.

Do you want to create a unique category-specific page template for each of your Categories? Here’s how…

A little WordPress education first: WordPress has built-in logic so that when a Category is selected, it first looks for a program file named category-X.php. The –X is the category ID number. So if you have a template for a category named “Motorcycles” and its ID number is 9, then the file you create would be named category-9.php.

If this file is not found for the category, the code logic then looks for a program file named category.php, if this is not found, then it looks for archive.php, and finally if that is not found, it looks for index.php. Most Theme designers will include at least the archive.php and index.php program files.

To get started creating your custom category page template you will need to use a text editor like notepad or some other file editor.

  1. Review this article to learn how to discover your category ID numbers.
  2. Make a copy of archive.php and save it with the name category-X.php, using the Category ID number you determined in step 1, in place of the “X”.

Now you have a category-specific template that you can modify in order to create a unique page for this category.

Let’s create a custom template for our “Motorcycles” category by adding a header tag that tells Visitors what Category they are viewing along with a unique image.

  1. Open your new category-x.php file.
  2. To add a category-specific Title, in this case, “Motorcycles”, add this header tag code snippet within the content area*:
    <h1><?php single_cat_title(''); ?></h1>

    (Review the WordPress codex to learn more about single_cat_title() )

  3. To add a unique image that designates the Category, add this code snippet below the header tag code:
    <img src="<?php bloginfo('template_url'); ?>/images/motorcycles.png" 
    alt="<?php bloginfo('name'); ?>: <?php single_cat_title('',); ?>" />

    (Make sure that you have uploaded your image and that you have the correct path to where you have the image, in your code)

  4. Save the file and test results of your new category-specific page template.
  5. Of course, you may need to do some CSS tweaking to achieve proper spacing, etc.

Here’s an example of the entire category-X.php file:

<?php get_header(); ?>

<div id="content">

<div id="contentleft">
	
<div class="postarea">
		
<?php include(TEMPLATEPATH."/breadcrumb.php");?>

<h1><?php single_cat_title(''); ?></h1>
		
<img src="<?php bloginfo('template_url'); ?>/images/motorcycles.png" alt="<?php bloginfo('name'); ?>: 
<?php single_cat_title('',); ?>" />
		
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h1><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h1>
			
<div class="date">
			
 <div class="dateleft">
 <p><span class="time"><?php the_time('F j, Y'); ?></span> by <?php the_author_posts_link(); ?> &nbsp;
<?php edit_post_link('(Edit)', '', ''); ?> <br /> Filed under <?php the_category(', ') ?></p> 
 </div>
				
 <div class="dateright">
 <p><span class="comment"><?php comments_popup_link('Leave a Comment', '1 Comment', '% Comments'); ?>
</span></p> 
 </div>
				
</div>
		
<?php the_content(__('Read more'));?><div style="clear:both;"></div>
			
<div class="postmeta2">
 <p><span class="tags">Tags: <?php the_tags('') ?></span></p>
</div>
			
<?php endwhile; else: ?>
			
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p><?php endif; ?>
<p><?php posts_nav_link(' &#8212; ', __('&laquo; Previous Page'), __('Next Page &raquo;')); ?></p>
			
</div>
				
</div>
	
<?php include(TEMPLATEPATH."/sidebar.php");?>
		
</div>

<!-- The main column ends  -->

<?php get_footer(); ?>

Want to take your WordPress Category-Specific Template to another level? What happens if you have child-categories? For the newbies, these are categories assigned to a Parent category. An example would be the example “Motorcycle” category as the parent and then having child-categories like “Harley Davidson”, “Honda”, “Suzuki”, etc.

Maybe you don’t want to create additional category-specific templates, but still want the unique category header for all of the child-categories. There is a simple way to do this using the Idealien Category Enhancements Plugin by Jamie Oastler.

With this plugin you can set an option for all child-categories to use the same category-x.php file as the Parent category. This is a huge time saver.

* – Note: This tutorial is based on the popular StudioPress/Revolution Themes and while most StudioPress/Revolution themes use the same division names in their code, not all do. Also, if you are using this for a non-StudioPress Theme (tsk, tsk) your division names will be different from the code used in this tutorial.