Design System is here - Read the release post

Learn GeneratePress

GeneratePress

WooCommerce

GeneratePress works with WooCommerce out of the box. GP Premium’s WooCommerce module adds settings for your shop: a cart in the menu, product columns, what shows on shop and product pages, a sticky add-to-cart panel, distraction-free checkout and shop colours.

Requires GP Premium — WooCommerce module. The whole guide is a GP Premium feature. The module only appears once the WooCommerce plugin is active; then turn it on in Appearance → GeneratePress.

Layout: Appearance → Customize → Layout → WooCommerce

Colours: Appearance → Customize → WooCommerce → Colors

Layout

The WooCommerce section in the Layout panel has four groups.

General

  • Display cart in menu — adds a cart icon with the cart total to the primary navigation. The menu needs a theme location.
  • Display mini cart sub-menu — shows the cart contents when you hover over the icon.
  • Menu Item Icon — a Shopping Cart (default), Shopping Bag or Shopping Basket.
  • Menu Item Content — the cart Amount (default) or Number of Items.
  • Display breadcrumbs — WooCommerce’s breadcrumbs on shop and product pages.

Shop

These settings are for the shop page and product archives.

  • Sidebar Layout — the shop’s sidebar layout (default Content / Sidebar).
  • Product Columns and Column Gap — the number of columns (default 4, tablet 2, mobile 1) and the space between them (default 50px). Use the device buttons for tablet and mobile.
  • Image Alignment — Left, Center (default) or Right. Left or right is best with one column.
  • Products Per Page — default 9.
  • Text Alignment — for the product title, price and so on.
  • Display cart panel on add to cart — opens a cart panel when a product is added.
  • Display toggles — the page title, results count, sorting, product image, secondary image on hover (the product’s second gallery image), title, sale flash (and Sale flash over image), rating, price, add to cart button and short description.

Single product

These settings are for single product pages.

  • Sidebar Layout — default Inherit (the site’s sidebar layout).
  • Product Image Area Width — the width of the image gallery (default 50%).
  • Display add to cart panel on scroll — a sticky bar with the add-to-cart button once the visitor scrolls past it.
  • Display quantity buttons — plus and minus buttons beside the quantity.
  • Display toggles — the sale flash, product tabs (description, reviews and so on), related products, upsell products, product meta (category, SKU) and short description.
  • Related/Upsell Columns — default 4, tablet 2, mobile 1.

Checkout

Distraction-free mode (on by default) removes the sidebars, footer widgets and sticky navigation from the checkout page, so customers can focus on paying.

Colors

Shop colours are in Customize → WooCommerce → Colors — WooCommerce’s own Customizer panel, not the theme’s Colors section. Groups: Buttons (the alternative button, such as Checkout), Products (title, star ratings, sale sticker, price), Sticky Panel Cart, Menu Mini Cart, Price Slider Widget, Product Tabs and Messages (success, info and error). Colours for everything else are in Colors.

Typography

Set fonts for shop elements, such as product titles, with the Typography Manager: click Add Typography and choose Catalogue Product Titles (product titles on the shop and archives) or Related/Upsell Product Titles.

Recipes & customizations

Recipes add code as explained in Adding Custom Code.

Hide the menu cart when it’s empty

Show the cart icon only when there’s something in the cart:

.mobile-bar-items.wc-mobile-cart-items:not(.has-items),
.main-navigation .wc-menu-item:not(.has-items) {
    display: none;
}

Put the cart inside the menu items

The cart icon normally sits apart from the menu, at its right-hand end. To make it the last menu item instead:

add_filter( 'wp_nav_menu_items', function( $items, $args ) {
    if ( 'primary' === $args->theme_location && function_exists( 'generatepress_wc_cart_link' ) ) {
        $has_items = ! WC()->cart->is_empty() ? 'has-items' : '';

        $items .= sprintf(
            '<li class="wc-menu-item menu-item-align-right %1$s %2$s">%3$s</li>',
            is_cart() ? 'current-menu-item' : '',
            $has_items,
            generatepress_wc_cart_link()
        );
    }

    return $items;
}, 10, 2 );

Then turn off Display cart in menu, so the icon doesn’t show twice.

All options

SettingSectionChoicesDefaultRequiresCustomizer option
Display cart in menuLayout › WooCommerce › GeneralOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[cart_menu_item]
Display mini cart sub-menuLayout › WooCommerce › GeneralOn / OffOffGP Premium — WooCommercegenerate_woocommerce_settings[menu_mini_cart]
Menu Item IconLayout › WooCommerce › GeneralShopping Cart · Shopping Bag · Shopping BasketShopping CartGP Premium — WooCommercegenerate_woocommerce_settings[cart_menu_item_icon]
Menu Item ContentLayout › WooCommerce › GeneralAmount · Number of ItemsAmountGP Premium — WooCommercegenerate_woocommerce_settings[cart_menu_item_content]
Display breadcrumbsLayout › WooCommerce › GeneralOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[breadcrumbs]
Sidebar LayoutLayout › WooCommerce › ShopSidebar / Content · Content / Sidebar · Content (no sidebars) · Sidebar / Content / Sidebar · Sidebar / Sidebar / Content · Content / Sidebar / SidebarContent / SidebarGP Premium — WooCommercegenerate_woocommerce_settings[sidebar_layout]
Product ColumnsLayout › WooCommerce › Shop1–6 columns4GP Premium — WooCommercegenerate_woocommerce_settings[columns]
Product Columns (tablet)Layout › WooCommerce › Shop1–6 columns2GP Premium — WooCommercegenerate_woocommerce_settings[tablet_columns]
Product Columns (mobile)Layout › WooCommerce › Shop1–6 columns1GP Premium — WooCommercegenerate_woocommerce_settings[mobile_columns]
Column GapLayout › WooCommerce › Shop0–100 px50GP Premium — WooCommercegenerate_woocommerce_settings[columns_gap]
Column Gap (tablet)Layout › WooCommerce › Shop0–100 px— (inherits)GP Premium — WooCommercegenerate_woocommerce_settings[tablet_columns_gap]
Column Gap (mobile)Layout › WooCommerce › Shop0–100 px— (inherits)GP Premium — WooCommercegenerate_woocommerce_settings[mobile_columns_gap]
Image AlignmentLayout › WooCommerce › ShopLeft · Center · RightCenterGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_image_alignment]
Products Per PageLayout › WooCommerce › ShopNumber9GP Premium — WooCommercegenerate_woocommerce_settings[products_per_page]
Text AlignmentLayout › WooCommerce › ShopLeft · Center · RightCenterGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_alignment]
Display cart panel on add to cartLayout › WooCommerce › ShopOn / OffOffGP Premium — WooCommercegenerate_woocommerce_settings[off_canvas_panel_on_add_to_cart]
Display page titleLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[shop_page_title]
Display product results countLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_results_count]
Display product sortingLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_sorting]
Display product imageLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_image]
Display secondary image on hoverLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_secondary_image]
Display product titleLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_title]
Display sale flashLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_sale_flash]
Sale flash over imageLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_sale_flash_overlay]
Display ratingLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_rating]
Display priceLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_price]
Display add to cart buttonLayout › WooCommerce › ShopOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_add_to_cart]
Display short descriptionLayout › WooCommerce › ShopOn / OffOffGP Premium — WooCommercegenerate_woocommerce_settings[product_archive_description]
Sidebar LayoutLayout › WooCommerce › Single ProductInherit · Sidebar / Content · Content / Sidebar · Content (no sidebars) · Sidebar / Content / Sidebar · Sidebar / Sidebar / Content · Content / Sidebar / SidebarInheritGP Premium — WooCommercegenerate_woocommerce_settings[single_sidebar_layout]
Product Image Area WidthLayout › WooCommerce › Single Product10–100 %50GP Premium — WooCommercegenerate_woocommerce_settings[single_product_image_width]
Display add to cart panel on scrollLayout › WooCommerce › Single ProductOn / OffOffGP Premium — WooCommercegenerate_woocommerce_settings[sticky_add_to_cart_panel]
Display quantity buttonsLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[quantity_buttons]
Display sale flashLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[single_product_sale_flash]
Display product tabsLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_tabs]
Display related productsLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_related]
Display upsell productsLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_upsells]
Related/Upsell ColumnsLayout › WooCommerce › Single Product1–6 columns4GP Premium — WooCommercegenerate_woocommerce_settings[related_upsell_columns]
Related/Upsell Columns (tablet)Layout › WooCommerce › Single Product1–6 columns2GP Premium — WooCommercegenerate_woocommerce_settings[tablet_related_upsell_columns]
Related/Upsell Columns (mobile)Layout › WooCommerce › Single Product1–6 columns1GP Premium — WooCommercegenerate_woocommerce_settings[mobile_related_upsell_columns]
Display product meta dataLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_meta]
Display short descriptionLayout › WooCommerce › Single ProductOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[product_description]
Distraction-free modeLayout › WooCommerce › CheckoutOn / OffOnGP Premium — WooCommercegenerate_woocommerce_settings[distraction_free]
Alt Button BackgroundWooCommerce › Colors › ButtonsColour#1e73beGP Premium — WooCommercegenerate_settings[wc_alt_button_background]
Alt Button Background HoverWooCommerce › Colors › ButtonsColour#377fbfGP Premium — WooCommercegenerate_settings[wc_alt_button_background_hover]
Alt Button TextWooCommerce › Colors › ButtonsColour#ffffffGP Premium — WooCommercegenerate_settings[wc_alt_button_text]
Alt Button Text HoverWooCommerce › Colors › ButtonsColour#ffffffGP Premium — WooCommercegenerate_settings[wc_alt_button_text_hover]
Product TitleWooCommerce › Colors › ProductsColour— (empty)GP Premium — WooCommercegenerate_settings[wc_product_title_color]
Product Title HoverWooCommerce › Colors › ProductsColour— (empty)GP Premium — WooCommercegenerate_settings[wc_product_title_color_hover]
Star RatingsWooCommerce › Colors › ProductsColour#ffa200GP Premium — WooCommercegenerate_settings[wc_rating_stars]
Sale Sticker BackgroundWooCommerce › Colors › ProductsColour#222222GP Premium — WooCommercegenerate_settings[wc_sale_sticker_background]
Sale Sticker TextWooCommerce › Colors › ProductsColour#ffffffGP Premium — WooCommercegenerate_settings[wc_sale_sticker_text]
PriceWooCommerce › Colors › ProductsColour#222222GP Premium — WooCommercegenerate_settings[wc_price_color]
Background ColorWooCommerce › Colors › Sticky Panel CartColour#ffffffGP Premium — WooCommercegenerate_settings[wc_panel_cart_background_color]
Text ColorWooCommerce › Colors › Sticky Panel CartColour#000000GP Premium — WooCommercegenerate_settings[wc_panel_cart_text_color]
Button BackgroundWooCommerce › Colors › Sticky Panel CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_panel_cart_button_background]
Button Background HoverWooCommerce › Colors › Sticky Panel CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_panel_cart_button_background_hover]
Button TextWooCommerce › Colors › Sticky Panel CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_panel_cart_button_text]
Button Text HoverWooCommerce › Colors › Sticky Panel CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_panel_cart_button_text_hover]
Background ColorWooCommerce › Colors › Menu Mini CartColour#ffffffGP Premium — WooCommercegenerate_settings[wc_mini_cart_background_color]
Text ColorWooCommerce › Colors › Menu Mini CartColour#000000GP Premium — WooCommercegenerate_settings[wc_mini_cart_text_color]
Button BackgroundWooCommerce › Colors › Menu Mini CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_mini_cart_button_background]
Button Background HoverWooCommerce › Colors › Menu Mini CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_mini_cart_button_background_hover]
Button TextWooCommerce › Colors › Menu Mini CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_mini_cart_button_text]
Button Text HoverWooCommerce › Colors › Menu Mini CartColour— (empty)GP Premium — WooCommercegenerate_settings[wc_mini_cart_button_text_hover]
Slider Background ColorWooCommerce › Colors › Price Slider WidgetColour#ddddddGP Premium — WooCommercegenerate_settings[wc_price_slider_background_color]
Slider Bar ColorWooCommerce › Colors › Price Slider WidgetColour#666666GP Premium — WooCommercegenerate_settings[wc_price_slider_bar_color]
Product Tab TextWooCommerce › Colors › Product TabsColour#222222GP Premium — WooCommercegenerate_settings[wc_product_tab]
Product Tab ActiveWooCommerce › Colors › Product TabsColour#1e73beGP Premium — WooCommercegenerate_settings[wc_product_tab_highlight]
Success Message BackgroundWooCommerce › Colors › MessagesColour#0b9444GP Premium — WooCommercegenerate_settings[wc_success_message_background]
Success Message TextWooCommerce › Colors › MessagesColour#ffffffGP Premium — WooCommercegenerate_settings[wc_success_message_text]
Info Message BackgroundWooCommerce › Colors › MessagesColour#1e73beGP Premium — WooCommercegenerate_settings[wc_info_message_background]
Info Message TextWooCommerce › Colors › MessagesColour#ffffffGP Premium — WooCommercegenerate_settings[wc_info_message_text]
Error Message BackgroundWooCommerce › Colors › MessagesColour#e8626dGP Premium — WooCommercegenerate_settings[wc_error_message_background]
Error Message TextWooCommerce › Colors › MessagesColour#ffffffGP Premium — WooCommercegenerate_settings[wc_error_message_text]

Settings can be changed in code with the option_generate_woocommerce_settings filter (layout) and option_generate_settings (colours).