* @link http://www.wpexplorer.com/woocommerce-compatible-theme/ */ /** * Alter WooCommerce shop posts per page. * * @param integer $cols is columns to use. */ function canuck_woo_posts_per_page( $cols ) { return 12; } add_filter( 'loop_shop_per_page', 'canuck_woo_posts_per_page' ); /** * Alter shop columns. * * @param integer $columns is columns to use. */ function canuck_woo_shop_columns( $columns ) { return 4; } add_filter( 'loop_shop_columns', 'canuck_woo_shop_columns' ); /** * Add correct body class for shop columns. * * @param string $classes are css classes. */ function canuck_woo_shop_columns_body_class( $classes ) { if ( is_shop() || is_product_category() || is_product_tag() ) { $classes[] = 'columns-4'; } return $classes; } add_filter( 'body_class', 'canuck_woo_shop_columns_body_class' ); /** * Change pagination pointers. * * @param array $args is array of html. */ function canuck_woo_pagination_args( $args ) { $args['prev_text'] = ''; $args['next_text'] = ''; return $args; } add_filter( 'woocommerce_pagination_args', 'canuck_woo_pagination_args' ); /** * Change sale text. */ function canuck_woo_sale_flash() { return '' . esc_html__( 'Sale', 'canuck' ) . ''; } add_filter( 'woocommerce_sale_flash', 'canuck_woo_sale_flash' ); /** * Set related products to display 4 products. * * @param array $args is array of data. */ function canuck_woo_related_posts_per_page( $args ) { $args['posts_per_page'] = 4; return $args; } add_filter( 'woocommerce_output_related_products_args', 'canuck_woo_related_posts_per_page' ); /** * Filter up-sells columns * * @param integer $columns is columns to use. */ function canuck_woo_single_loops_columns( $columns ) { return 4; } add_filter( 'woocommerce_up_sells_columns', 'canuck_woo_single_loops_columns' ); /** * Filter related args. * * @param array $args is array of data. */ function canuck_woo_related_columns( $args ) { $args['columns'] = 4; return $args; } add_filter( 'woocommerce_output_related_products_args', 'canuck_woo_related_columns', 10 ); /** * Filter body classes to add column class. * * @param string $classes are css classes. */ function canuck_woo_single_loops_columns_body_class( $classes ) { if ( is_singular( 'product' ) ) { $classes[] = 'columns-4'; } return $classes; } add_filter( 'body_class', 'canuck_woo_single_loops_columns_body_class' ); /** * Add the cart link to menu * * @param string $items contains lists html.. * @param array $args is array of data. */ function canuck_add_menu_cart_item_to_menus( $items, $args ) { // Make sure your change to your Menu location !!!! if ( 'canuck_primary' === $args->theme_location ) { $css_class = 'menu-item menu-item-type-cart menu-item-type-woocommerce-cart'; if ( is_cart() ) { $css_class .= ' current-menu-item'; } $items .= '