WordPress.org

Ready to get started?Download WordPress

Plugin Directory

Genesis Connect for WooCommerce

This plugin allows you to seamlessly integrate WooCommerce with the Genesis Framework and Genesis child themes.

Other Notes

Technical Info

For more technically minded users, this is what the plugin does:

  • Unhooks the WooCommerce template loader function
  • Adds its own template loader function to control the templates used by the single product, archive product and Product Category and Product Tag (taxonomy) archive pages.
  • Adds Genesis Layouts and SEO support to the WooCommerce Product custom post type
  • Provides three Genesis-ready templates to display the shop pages, located in the plugin's templates folder:
    • single-product.php
    • archive-product.php
    • taxonomy.php
  • These templates use WooCommerce core functions to display the shop loops which:
    • unhook WooCommerce's built-in breadcrumbs
    • unhook the Genesis Loop and replace it with the relevant WooCommerce shop loop
    • remove WooCommerce's #container and #content divs, which are not required or wanted by Genesis
  • The shop loop function in each template is heavily based on its WooCommerce counterpart, but has been modified to accommodate certain Genesis features such as the Taxonomy term headings and descriptions feature.
  • The templates contain the genesis(); function and therefore are fully customisable using Genesis hooks and filters.
  • The template loader allows users to use their own templates in the child theme's 'woocommerce' folder. These user templates, if they exist in the child theme's `woocommerce' folder, will be loaded in place of the supplied Genesis Connect for WooCommerce templates
  • Using appropriate filters, modifies the Genesis breadcrumbs output to mimic the breadcrumb structure provided by WooCommerce's built-in breadcrumbs.

More about breadcrumbs

By default, the Genesis breadcrumbs do not provide the same breadcrumb structure as those built-in to WooCommerce. Genesis Connect for WooCommerce modifies the normal Genesis Breadcrumbs output on shop pages to mimic the structure of those built-in to WooCommerce.

Note that the templates provided in this plugin automatically unhook WooCommerce's built-in breadcrumbs via this code in each template:

remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );

Filters

This plugin provides some filters which may be useful for developers.

genesiswooc_custom_query

Located in gencwooc_single_product_loop() in templates/single-product.php. The filter callback function should return a query object or false.

gencwooc_product_archive_crumb

Located in gencwooc_get_archive_crumb_filter() in lib/breadcrumb.php. Allows further modification of the single product page breadcrumbs.

gencwooc_single_product_crumb

Located in gencwooc_get_single_crumb() in lib/breadcrumb.php. Allows further modification of the product archive (shop page) breadcrumbs.

More info about WooCommerce CSS handling

For the benefit of theme developers and customizers, here is a summary of possible scenarios for dealing with WooCommerce CSS:

  • Case 1: If the WooCommerce > General settings > Enable WooCommerce CSS option is checked, the default stylesheet supplied with WooCommerce will be loaded (see wp-content/plugins/woocommerce/assets/css/woocommerce.css).
  • Case 2: If WooCommerce > General settings > Enable WooCommerce CSS option is unchecked, no stylesheet is loaded.
  • Case 3: If the user (or theme developer) sets define( 'WOOCOMMERCE_USE_CSS', true ); in the child theme functions.php the options setting is ignored and the default WooCommerce stylesheet is loaded, ie has same effect as checking the settings box.
  • Case 4: If the user (or theme developer) sets define( 'WOOCOMMERCE_USE_CSS', false ); in the child theme functions.php the options setting is ignored and NO stylesheet is loaded, ie has same effect as unchecking the settings box. Note: the value of WOOCOMMERCE_USE_CSS always takes precedence over the WooCommerce Settings page option!
  • If either Case 1 or Case 3 applies, if themes/my-child-theme/woocommerce/styles.css exists it will be loaded in place of the default woocommerce stylesheet (plugins/woocommerce/assets/css/woocommerce.css).
  • If either Case 2 or 4 applies, as no built-in stylesheet is loaded, all WooCommerce CSS styles need to be added to the theme's main style.css stylesheet
  • Note for Genesis child theme developers: For new themes, theme developers can use define( 'WOOCOMMERCE_USE_CSS', false ); and place all WooCommerce styles in the theme's main stylesheet, or do nothing and let the user handle this via Case 1 or 3.
  • The above information is based on WooCommerce 1.4.4

Requires: 3.3 or higher
Compatible up to: 3.9.1
Last Updated: 2014-7-9
Downloads: 38,025

Ratings

4 stars
4.6 out of 5 stars

Support

1 of 5 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1 100,1,1
100,1,1
100,1,1
0,1,0
0,1,0 100,1,1
0,1,0
100,1,1
100,1,1 100,2,2
100,1,1
0,1,0