WooThemes

The WooThemes Blog

All the latest news and announcements, straight from the WooThemes HQ!

Subscribe

WooCommerce & Club Subscription Changes

96

by Adii Rockstar in WooLabs, WooThemes News

We launched WooCommerce yesterday and with many new products suddenly flooding into the WooThemes infrastructure, we had to accommodate them in some way (especially in terms of the WooThemes Club and our subscribers on those plans). Having interacted with many of our subscribers in the last 24 hours, we have decided to change the terms of our club subscriptions to be both fair to subscribers, but also viable to us – as a company – in the longer term. 

Continue Reading »

Disable the grid when paging through the “Magazine” page template

0

by Matty Cohen in Canvas

Minimum Requirements: Canvas V4.0+

When using the “Magazine” page template provided in Canvas, your blog posts are displayed in a neat grid, similar to how articles are laid out in a printed magazine. What if you want to disable this grid on pages 2, 3, 4, etc, when paging through the “Magazine” template? In today’s tutorial, we’ll discuss how a single line of CSS can be used to achieve this result.

The finished code

Before we start, lets take a look at the finished code.

body.paged .block { float: none; display: block; width: 100%; }

What the code does

The above code does the following:

  1. Use the auto-generated CSS classes added to the <body> tag by WordPress (more information on this on the WordPress Codex Function Reference) to target the “paged” screens, specifically.
  2. Reset the “float”, “width” and “display” properties for all “.block” items within these “paged” screens, such that they take the appropriate default width.
The above-mentioned code snippet should be placed in your “custom.css” file, when implementing this code into your theme. If you’re using a child theme, simply place it in your child theme’s “style.css” file.

Through this single line of CSS, we’re able to entirely change the look of how our “Magazine” pages look when visitors browse through beyond the first screen. Nifty, right?

The end result should resemble the following:

The "Magazine" template, with no grid when paging through

WooStore

9

by Mark Forrester in WooCommerce

Unique Features



  • WooCommerce Goodness

    As you’d expect, WooStore makes full use of all of WooCommerce features. We’ve painstakingly married theme and plugin to provide a seamless front-end experience. Every single one of WooCommerce widgets has been lovingly styled to match the beautiful design, as has each key component of the plugin such as the product categories, product descriptions, cart, checkout and user account sections. Read all about the benefits of WooCommerce here.

  • Home Page Feature Slider

    Featured Slider

    A custom homepage featured slider to showcase your products with style, all powered by jQuery. Optional slider pagination gives your visitors easy overview.


  • Customisable Homepage

    The homepage features a stylish jQuery slider as well as the option to display content from one of your pages. There’s even an option to display your featured products, either in a slider of their own or a static grid.



  • Custom Post Types

    The theme takes full advantage of the new custom post types functionality that came with WordPress 3.0, so adding slides and products (via WooCommerce) is dead easy!



  • Custom Widgets

    The theme has 1 widgetized sidebar (which can be moved from the right of the content to the left) and 4 footer regions, and as always comes with 8 custom Woo Widgets PLUS a multitude of WooCommerce widgets too. Widgelicious!

Coquette

9

by Mark Forrester in WooCommerce

Unique Features


  • WooCommerce Goodness

    As you’d expect, Coquette makes full use of all of WooCommerce features. We’ve painstakingly married theme and plugin to provide a seamless front-end experience. Every single one of WooCommerce widgets has been lovingly styled to match the beautiful design, as has each key component of the plugin such as the product categories, product descriptions, cart, checkout and user account sections. Read all about the benefits of WooCommerce here.


  • Two Gorgeous Colour Schemes

    Coquette is supplied with two bespoke colour schemes. ‘Mithril’ is a predominantly grey theme while ‘Taupe’ utilises organic greens and browns for a more down-to-earth aesthetic.


  • Featured Slider

    A custom home page featured slider to showcase your products with style, all powered by jQuery. Optional slider pagination gives your visitors easy overview.


  • Custom Homepage

    The homepage features a stylish jQuery slider and a custom layout including the display of featured and recent products.


  • Custom Post Types

    The theme takes full advantage of the new custom post types functionality that came with WordPress 3.0, so adding slides and products (via WooCommerce) is dead easy!


  • Custom Widgets

    The theme has 1 widgetized sidebar (which can be moved from the right of the content to the left) and 4 footer regions, and as always comes with 8 custom Woo Widgets PLUS a multitude of WooCommerce widgets too. Widgelicious!

Wootique

32

by Mark Forrester in WooCommerce

Unique Features




  • WooCommerce Goodness

    As you’d expect, Wootique makes full use of all of WooCommerce features. We’ve painstakingly married theme and plugin to provide a seamless front-end experience. Every single one of WooCommerce widgets has been lovingly styled to match the beautiful design, as has each key component of the plugin such as the product categories, product descriptions, cart, checkout and user account sections. Read all about the benefits of WooCommerce here.



  • Customisability

    Our number 1 goal with the design of Wootique was to make the theme a great solution for any online store. From the theme options page you can easily stamp your brands own unique style on the theme by changing the background colour, adjusting the menu and footer or adding a background image. The rest of the minimalist design lends itself to almost any colour or style!



  • Featured Slider

    The homepage features a nifty css3 / jQuery powered slider. The slider rotates through your stores featured products and is flexible enough to contain as many products as you want to throw at it. Better yet, we’ve used some css3 animations to ‘flip’ the product imagery revealing further information. Nifty!



  • Custom Homepage

    Aside from the slider you can customise your homepage with content from a specified WordPress page. There’s also an archive of your recent products and of course a widgetised sidebar.



  • Custom Widgets

    The theme has 1 widgetized sidebar (which can be moved from the right of the content to the left) and 4 footer regions, and as always comes with 8 custom Woo Widgets PLUS a multitude of WooCommerce widgets too. Widgelicious!

Statua WooCommerce

1

by Mark Forrester in Child Themes, WooCommerce

Child Theme Features


  • WooCommerce Ready

    All WooCommerce features are accounted for and have been scrupulously styled to match the parent themes aesthetic.


  • Woo Approved

    Developed in-house by WooThemes designers and developers, this product ensures guaranteed compatibility with our market leading eCommerce plugin; WooCommerce.


  • Awesome Support

    As with all of our products, after your purchase you’ll gain access to our acclaimed premium support.

Simplicity WooCommerce

1

by Mark Forrester in Child Themes, WooCommerce

Child Theme Features


  • WooCommerce Ready

    All WooCommerce features are accounted for and have been scrupulously styled to match the parent themes aesthetic.


  • Woo Approved

    Developed in-house by WooThemes designers and developers, this product ensures guaranteed compatibility with our market leading eCommerce plugin; WooCommerce.


  • Awesome Support

    As with all of our products, after your purchase you’ll gain access to our acclaimed premium support.

Canvas WooCommerce

8

by Mark Forrester in Child Themes, WooCommerce

Child Theme Features


  • WooCommerce Ready

    All WooCommerce features are accounted for and have been scrupulously styled to match the parent themes aesthetic.


  • Woo Approved

    Developed in-house by WooThemes designers and developers, this product ensures guaranteed compatibility with our market leading eCommerce plugin; WooCommerce.


  • Awesome Support

    As with all of our products, after your purchase you’ll gain access to our acclaimed premium support.

WooCommerce Has Arrived

363

by Mark Forrester in WooLabs, WooThemes News

With much excitement, pride, and anxiety after such a long journey we can finally happily announce the release of WooCommerce.

For the last month, since the announcement of WooLabs/WooCommerce, Mike and Jay have been working like men possessed tinkering with every piece of code, adding valuable new core features, coding and collaborating on payment gateway, product and shipping extensions, and of course working on some beautiful themes.

Continue Reading »

Creating multiple instances of the “Portfolio” page template

0

by Matty Cohen in Canvas

Minimum Requirements: Canvas V4.5.0+
Keep the Canvas Hook/Filter Reference on hand, as it will come in handy using the techniques explained below.

In Canvas version 4.5.0, we added a feature to exclude specific portfolio galleries from the “Portfolio” page template. This feature can be used in conjunction with multiple instances of the “Portfolio” page template customise which portfolio galleries display on each instance of the template. This tutorial aims to explain the logic behind this code in more detail.

The finished code

Before we start, lets take a look at the finished code.

add_filter( 'woo_portfolio_gallery_exclude', 'woo_custom_portfolio_gallery_slugs', 10 );

function woo_custom_portfolio_gallery_slugs ( $slugs ) {
	if ( is_page( 'portfolio' ) ) {
		$slugs = 'lakes';
	}

	return $slugs;
} // End woo_custom_portfolio_gallery_slugs()

What the code does

The above code does the following:

  1. Add a filter on the “woo_portfolio_gallery_exclude” hook to run the “woo_custom_portfolio_gallery_slugs” function at priority level 10.
  2. If we’re currently viewing the page with the slug of “portfolio”, set the $slugs variable to “lakes”, which is the slug of the portfolio gallery to be excluded.
If the use of the “woo_portfolio_gallery_exclude” filter is confusing, please see our tutorial on using hooks and filters in Canvas.

To expand on this snippet to work with multiple pages, we could use the following snippet instead:

add_filter( 'woo_portfolio_gallery_exclude', 'woo_custom_portfolio_gallery_slugs', 10 );

function woo_custom_portfolio_gallery_slugs ( $slugs ) {
	if ( is_page( 'portfolio' ) ) {
		$slugs = 'lakes';
	}

	if ( is_page( 'a-second-portfolio' ) ) {
		$slugs = 'nature, buildings';
	}

	return $slugs;
} // End woo_custom_portfolio_gallery_slugs()

The above snippet excludes the “lakes” portfolio gallery from the page with the slug of “portfolio”, and the “nature” and “buildings” portfolio galleries from the page with the slug of “a-second-portfolio”, where both pages are setup using the “Portfolio” page template. This code could be expanded using any portfolio gallery slugs in the $slug variable (separated by commas) as well as any appropriate condition in the IF statement.

And that’s all there is to it. We’ve now setup two pages with the “Portfolio” page template and have transformed each into it’s own dedicated portfolio with it’s own galleries.

Coming soon

78

by Mark Forrester in WooThemes News

Transform the default Canvas homepage into a “Magazine”-style grid

0

by Matty Cohen in Canvas

Minimum Requirements: Canvas V4.5.0+
Keep the Canvas Hook/Filter Reference on hand, as it will come in handy using the techniques explained below.

While Canvas comes bundled with a “Magazine” page template, consisting of a featured posts slider and a “Magazine”-style grid, there may be a time when only the grid is required… or a custom implementation of the grid, for that matter. In this tutorial, we’ll discuss a short code snippet that can be added to your “functions.php” file to transform the default WordPress “Your Latest Posts” homepage into a “Magazine”-style grid.

This modification is divided into four parts in your “functions.php” file; a CSS class on the <body> HTML tag, a CSS class on each post & a second CSS class on every second post, a “.fix” DIV tag after every second post and forcing the homepage to include the “content-magazine-grid.php” content template file into the Canvas content templating system.

The finished code

Before we start, lets take a look at the finished code.

// Add "magazine" CSS class to <body> tag on homepage.
add_filter( 'body_class', 'woo_custom_add_magazine_bodyclass', 12 );
function woo_custom_add_magazine_bodyclass ( $classes ) {
	if ( is_home() ) {
		$classes[] = 'magazine';
	}
	return $classes;
} // End woo_custom_add_magazine_bodyclass()

// Add "block" CSS class to each post.
add_filter( 'post_class', 'woo_custom_add_block_postclass', 12 );

function woo_custom_add_block_postclass ( $classes) {
	global $wp_query;

	$current_count = $wp_query->current_post + 1;

	if ( is_home() ) {
		$classes[] = 'block';

		if ( $current_count % 2 == 0 ) {
			$classes[] = 'last';
		} // End IF Statement
	}

	return $classes;
} // End woo_custom_add_block_postclass()

// Add the "fix" DIV tag after every second post.
add_action( 'woo_post_after', 'woo_custom_add_magazine_blockfix', 12 );

function woo_custom_add_magazine_blockfix () {
	global $wp_query;

	$current_count = $wp_query->current_post + 1;

	if ( is_home() && ( $current_count % 2 == 0 ) ) {
?>
<div class="fix"></div><!--/.fix-->
<?php
	} // End IF Statement
} // End woo_custom_add_magazine_blockfix()

// Make sure the "content-magazine-grid.php" file is used instead of the default "content-*.php" file.
add_filter( 'woo_template_parts', 'woo_custom_home_templatepart_magazine', 12 );

function woo_custom_home_templatepart_magazine ( $templates ) {
	if ( is_home() ) {
		$index_to_replace = count( $templates ) - 2;

		$templates[$index_to_replace] = 'content-magazine-grid.php'; // Preserve the default Canvas content templating system.

		// $templates = array( 'content-magazine-grid.php' ); // Override the content templating system entirely.
	}
	return $templates;
} // End woo_custom_home_templatepart_magazine()

What the code does

The above code does the following:

  1. Add the “magazine” CSS class to the <body> HTML tag.
  2. Add the “block” CSS class to each post, and the “last” CSS class to every second post.
  3. After every second post, add a “.fix” DIV tag.
  4. Force the homepage to include the “content-magazine-grid.php” content template file instead of “content-post-full.php” or “content-post.php”, or simply override all content template options.
If the use of the “woo_post_after” action, or other actions or filters, is confusing, please see our tutorial on using hooks and filters in Canvas.

In addition to the end result of a “Magazine”-style grid on your homepage, this is an example of how Canvas can make use of a selection of smaller filters and actions to achieve a greater result, rather than making extensive modifications to the core theme template files, or using an extensive and difficult to decipher code snippet. Through 4 short code snippets, we’ve recreated the “Magazine”-style grid and can add/remove pieces at any stage to modify the end result.

The final result looks something like this:

The default Canvas homepage, styled as a "Magazine"-style grid

Move the logo outside of the header in Canvas

0

by Matty Cohen in Canvas

Minimum Requirements: Canvas V4.0+
Keep the Canvas Hook/Filter Reference on hand, as it will come in handy using the techniques explained below.

In some instances, you may want to remove the custom logo in the header area entirely, move it somewhere else in the design, or add a second copy of the logo somewhere else in the layout. In this tutorial, we’ll discuss moving the Canvas custom logo option into a function that we can add where we like within the layout.

The modifications required for a movable logo are divided into two parts; a customised “header.php” file and a custom action in your “functions.php” file.

The finished code

Before we start, lets take a look at the finished code.

Modified header.php
<?php
/**
 * Header Template
 *
 * Here we setup all logic and XHTML that is required for the header section of all screens.
 *
 * @package WooFramework
 * @subpackage Template
 */

 // Setup the tag to be used for the header area (`h1` on the front page and `span` on all others).
 $heading_tag = 'span';
 if ( is_front_page() ) { $heading_tag = 'h1'; }

 // Get our website's name, description and URL. We use them several times below so lets get them once.
 $site_title = get_bloginfo( 'name' );
 $site_url = home_url( '/' );
 $site_description = get_bloginfo( 'description' );

 global $woo_options;
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<title><?php woo_title(); ?></title>
<?php woo_meta(); ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" media="all" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php if ( is_singular() ) { wp_enqueue_script( 'comment-reply' ); } ?>
<?php wp_head(); ?>
<?php woo_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php woo_top(); ?>
<div id="wrapper">
	<?php woo_header_before(); ?>

	<div id="header" class="col-full">

		<?php woo_header_inside(); ?>

		<?php if ( ( isset( $woo_options['woo_ad_top'] ) ) && ( $woo_options['woo_ad_top'] == 'true' ) ) { ?>
        <div id="topad">

		<?php if ( ( isset( $woo_options['woo_ad_top_adsense'] ) ) && ( $woo_options['woo_ad_top_adsense'] != "") ) {
            echo stripslashes(get_option('woo_ad_top_adsense'));
        } else { ?>
            <a href="<?php echo get_option('woo_ad_top_url'); ?>"><img src="<?php echo $woo_options['woo_ad_top_image']; ?>" alt="" /></a>
        <?php } ?>		   	

        </div><!-- /#topad -->
        <?php } ?>

	</div><!-- /#header -->
	<?php woo_header_after(); ?>
Custom action added to functions.php
add_action( 'woo_header_before', 'woo_custom_add_logo', 12 );

function woo_custom_add_logo() {
	global $woo_options;

	 // Setup the tag to be used for the header area (`h1` on the front page and `span` on all others).
	 $heading_tag = 'span';
	 if ( is_front_page() ) { $heading_tag = 'h1'; }

	 // Get our website's name, description and URL. We use them several times below so lets get them once.
	 $site_title = get_bloginfo( 'name' );
	 $site_url = home_url( '/' );
	 $site_description = get_bloginfo( 'description' );
?>
<div id="logo">
<?php
	// Website heading/logo and description text.
	if ( isset($woo_options['woo_logo']) && $woo_options['woo_logo'] ) {
		echo '<a href="' . $site_url . '" title="' . $site_description . '"><img src="' . $woo_options['woo_logo'] . '" alt="' . $site_title . '" /></a>' . "\n";
	} else {
		echo '<' . $heading_tag . ' class="site-title"><a href="' . $site_url . '">' . $site_title . '</a></' . $heading_tag . '>' . "\n";
	} // End IF Statement

	if ( $site_description ) { echo '<span class="site-description">' . $site_description . '</span>' . "\n"; }
?>
</div><!-- /#logo -->
<?php
	} // End woo_custom_add_logo()
?>

What the code does

The above code does the following:

  1. The modified “header.php” file (best added via a child theme) strips out the #logo DIV tag, and it’s contents, from the “header.php” file, to now be added via a custom action.
  2. The custom action in the “functions.php” file adds the logo code back onto the screen, this time above the #header DIV tag.

To add the logo in it’s original position, as well as use the filter, replace “woo_header_before” with “woo_header_inside”, as below:


add_action( 'woo_header_inside', 'woo_custom_add_logo', 12 );
If the use of the “woo_header_before” action is confusing, please see our tutorial on using hooks and filters in Canvas.

The final result looks something like this:

The Canvas Logo, Moved Above the Header

The Canvas Logo Code, Moved Above the Header

A Responsive WordPress Theme

101

by Mark Forrester in New Themes

Buró - A business theme that responds

“Responsive” design has been the buzz word amongst web designers on social media channels & blogs for the past few months, some debating how it will change the web. This week marked quite a milestone with a major news publication “The Boston Globe” launching a subscription-only website featuring content from the daily newspaper as well as breaking news, customized for different digital devices, including smartphones and tablets (Source: The Washington Post).

The idea of having a layout that adjusts according to the browser width/resolution and device it is viewed on, without the use of any plugins, or seperate design stylesheets is one that has been commonly requested within the WordPress community.

Continue Reading »

Buro

13

by Mark Forrester in Business

Unique Features

  • Responsive Layout

    Responsive Layout

    The Buro theme allows your website to display optimally at all browser widths/resolutions and on all media devices. Go ahead and scale your browser window and see the results.

  • Featured slider

    Featured Slider

    A custom home page featured slider to showcase your work or products with style, all powered by jQuery. Optional slider pagination gives your visitors easy overview.

  • Custom Homepage

    Custom Homepage

    Custom home page layout with an optional slider, blog module and testimonial modules, not to forget all the widgetized homepage and footer specific regions.

  • Custom Post Types

    Custom Post Types

    The theme takes full advantage of the new custom post types functionality than came with WordPress 3.0, so adding slides, and feedback/testimonials is dead easy!


  • Custom Typography

    You can customize the typography in the theme to suit, and there is full support for Google Fonts in the font selector.


  • Custom Widgets

    The theme has 1 widgetized sidebar (that you can even include on the home page), 3 homepage specific widgetized regions, and 4 footer regions, and as always comes with 8 custom Woo Widgets (Ad Space, Blog Author, WooTabs, Subscribe, Feedback, Search, Flickr and Twitter).

  • Alternative Styles

    Alternative Styles

    The theme includes 5 alternative color styles which you can preview in the demo, and also has styling options for background color/image and setting link and button color.

A Tour of the New WooThemes

36

by Adii Rockstar in WooThemes News

We launched the “new” WooThemes about 2 weeks ago and included in this launch was a complete overhaul of our backend and your user dashboard. We’ve included some of the details of this in our launch post, but since we have now stabilized (after some minor niggles), we’d like to take you through a proper tour of all the new stuff.

The Dashboard

The Central Hub of your WooThemes Activity

The new user dashboard is basically the culmination of this overhaul and is now the central hub of everything that happens in & around WooThemes and that relates to your account.

You can now do all of this directly from your dashboard (the links are for preview images specifically for non-WooThemes user who can’t log in & play with this awesomeness):

  • Your Account Status. We wanted to use the dashboard to give you a full overview of what’s happening on your account & the status thereof. To this extend, we show all of your purchases here & the status of your subscription (if you have one). In addition to this, we have a proper account statement available, which gives you an in-depth and complete look at all of the transactions you’ve made.
  • Theme Downloads. If you’ve purchased individual themes only, you can download your themes straight from your dashboard. And then we have a dedicated downloads page available if you have an active subscription, which includes information on the release date of the theme, the current version and when it was last updated.
  • Subscription Management & Upgrades. In the past, we had to manually manage your subscription and process any upgrades (from a Standard to a Developer Package or a Standard to a Developer Club Subscription). With the new dashboard, it is now possible to pause & reactivate your subscription automagically whenever. It’s also possible to upgrade a Standard Package (to Developer) by simply paying the difference between the accounts and having the upgrade available immediately.
  • Bonus Theme Management. Both our Standard & Developer Packages come with bonus themes. In the past, you either had to select your bonus themes on checkout or we needed to manually add these for you afterwards. Now you have those credits available on your account and you can redeem them in return for some new themes any time you need to or when you just feel the urge. The bonus themes available to you are the portfolio of themes available at the time of purchase, not themes released after that date.
  • Account Balances & Credits. So this is something new which we’ve decided to introduce with the new dashboard. In the past, when you earned an affiliate commission, that balance would’ve needed to accumulate to exceed $50 before it meets our minimum release level. We have however decided to make it easier for you to spend that money with us again (since many of our users never reach the $50 release level), by either applying it towards another purchase or by being social and sending it to a friend.
  • Activity Stream. We’re incredibly curious about how you’re using WooThemes, because we want to create a better user experience for you. For this, we created a brand new activity stream so that we can track your interactions and improve that. Apart from helping us improve Woo in this way, we think this is a pretty nifty feature to have…

Continue Reading »