Remove WooCommerce CSS Styles and Scripts From Pages That Don’t Need It
WooCommerce loads three core CSS style sheets on every page and post when installed on a WordPress site. You can save a bit of page load time here by removing the styles and scripts from pages and content that do not need it . It also loads a bunch of other javascripts and CSS styles…
Read MoreAdd a CSS class to WooCommerce Shop Page
Using the filter body_class with the is_shop conditional you can target the main WooCommerce shop page by adding a CSS class. add_filter( ‘body_class’, ‘woo_shop_class’ ); // Add WooCommerce Shop Page CSS Class function woo_shop_class( $classes ) { if ( is_shop() ) // Set conditional $classes[] = ‘woo-shop’; // Add Class return $classes; } The above…
Read MoreRemoving the Product Meta ‘Categories’ on a Product Page – WooCommerce
WooCommerce product categories are displayed at the bottom of a product page just under the add to cart button. You can remove these from the layout by removing the woocommerce_template_single_meta action from the product summary, in your themes functions.php add in … remove_action( ‘woocommerce_single_product_summary’, ‘woocommerce_template_single_meta’, 40 ); This will remove the categories aka product meta from…
Read MoreSort WooCommerce products in cart order by price
By default the WooCommerce cart is ordered by when products are ordered in sequence, this can be manipulated with the woocommerce_cart_loaded_from_session hook. A new array is created $products_in_cart and the carts content is looped with the key of the array being the price $product->get_price(), the array is then sorted with asort or arsort before being…
Read MoreSort WooCommerce products from product category to be last in cart order
From a selected WooCommerce product category sort products to be at the end of a carts order. add_action( ‘woocommerce_cart_loaded_from_session’, ‘product_category_cart_items_sorted_end’ ); /** * WooCommerce – sort some Prod Cat items to be last order in cart * @link https://stackoverflow.com/questions/65800801/sort-specific-product-category-cart-items-at-the-end-in-woocommerce */ function product_category_cart_items_sorted_end() { $category_terms = __(‘box’); // Here set your category terms (can be names,…
Read MoreWooCommerce cart total count minus certain product category
I have a client that sells boxes and units of a product – for the units they need to be sold in multiples of 6, for the boxes it doesn’t matter, so I need the cart total to be less the boxes total and checked to see if it is divisible by 6 – if…
Read MoreSet WooCommerce cart product count total to be divisible by number
You can set WooCommerce cart total product count to be divisible by a certain number, if it is not divisible by that number then do not allow the user to checkout. add_action( ‘woocommerce_check_cart_items’, ‘check_cart_items_conditionally’ ); /** * Check cart items conditionally displaying an error notice and avoiding checkout * @link https://stackoverflow.com/questions/65767078/disable-woocommerce-checkout-if-cart-items-count-is-not-a-multiple-of-n */ function check_cart_items_conditionally() {…
Read MoreStop WooCommerce checkout fields auto-filling – leave blank
You can stop WooCommerce checkout fields from auto filling by using a Woo filter woocommerce_checkout_get_value, this could be useful in a situation when a logged in user is ordering on behalf of multiple customers. add_filter( ‘woocommerce_checkout_get_value’,’prefix_return_empty_checkout’, 1, 1 ); function prefix_return_empty_checkout(){ $user = wp_get_current_user(); //The user has the “shop_manager” role if ( in_array( ‘shop_manager’, (array)…
Read MoreChange WooCommerce SKU text to another label
You can change WooCommerce SKU text to another label using the gettext filter add_filter(‘gettext’, ‘translate_woocommerce’, 10, 3); /** * Change SKU Label * @link https://gist.github.com/dannyconnolly/da6f1a2d95dc826ccdcd * @since 1.0.0 */ function translate_woocommerce($translation, $text, $domain) { if ($domain == ‘woocommerce’) { switch ($text) { case ‘SKU’: $translation = ‘Catalogue No:’; break; case ‘SKU:’: $translation = ‘Catalogue No:’;…
Read MoreShow only free shipping option on WooCommerce cart and checkout pages
By default WooCommerce will show all available shipping options on cart and checkout pages, if you have free shipping as an option you may just want that displayed by itself. The code snippet below which needs to be added to your functions.php theme file will do just that… add_filter( ‘woocommerce_package_rates’, ‘prefix_hide_shipping_when_free_is_available’, 100 ); /** *…
Read More