Create custom tabs on the product page

add_filter(&#039;woocommerce_product_tabs&#039;, &#039;custom_product_tabs&#039;); function custom_product_tabs($tabs) { $tabs[&#039;custom_tab&#039;] = array( &#039;title&#039; =&gt; __(&#039;Additional Information&#039;, &#039;woocommerce&#039;), &#039;priority&#039; =&gt; 50, &#039;callback&#039; =&gt; &#039;custom_product_tab_content&#039; ); return $tabs; } function custom_product_tab_content() { echo &#039;<h2>Additional Information</h2>&#039;; echo &#039;<p>Here you can find more information about this product.</p>&#039;; }  

Read More

Shipping costs vary depending on the number of items

add_filter('woocommerce_package_rates', 'adjust_shipping_based_on_item_count', 10, 2); function adjust_shipping_based_on_item_count($rates, $package) { $item_count = WC()->cart->get_cart_contents_count(); if ($item_count > 5) { foreach ($rates as $rate_id => $rate) { $rates[$rate_id]->cost += 2.00; // Additional shipping costs for 6 items or more } } return $rates; }  

Read More

Discount for products in the “Sale” category

add_filter('woocommerce_product_get_price', 'discount_sale_category_products', 10, 2); function discount_sale_category_products($price, $product) { $sale_category = 'sale'; // Name of the sale category if (has_term($sale_category, 'product_cat', $product->get_id())) { $price = $price * 0.8; // 20% discount for products in the sale category } return $price; }  

Read More

Custom message for sold out products

add_filter('woocommerce_get_availability', 'custom_out_of_stock_message', 1, 2); function custom_out_of_stock_message($availability, $product) { if (!$product->is_in_stock()) { $availability['availability'] = __('Unfortunately sold out - Please contact us for more information.', 'woocommerce'); } return $availability; }  

Read More

Add custom text field to checkout form

add_action(&#039;woocommerce_after_checkout_billing_form&#039;, &#039;custom_checkout_form_field&#039;); function custom_checkout_form_field($checkout) { echo &#039;<div id="”custom_checkout_field”"><h2>&#039; . __(&#039;Additional Information&#039;) . &#039;</h2>&#039;; woocommerce_form_field(&#039;custom_field&#039;, array( &#039;type&#039; =&gt; &#039;text&#039;, &#039;class&#039; =&gt; array(&#039;form-row-wide&#039;), &#039;label&#039; =&gt; __(&#039;Custom Field&#039;), &#039;placeholder&#039; =&gt; __(&#039;Enter your information here.&#039;), &#039;required&#039; =&gt; false, ), $checkout-&gt;get_value(&#039;custom_field&#039;)); echo &#039;</div>&#039;; }  

Read More

Add additional shipping fee based on country

add_filter('woocommerce_cart_calculate_fees', 'add_additional_shipping_fee'); function add_additional_shipping_fee() { $shipping_country = WC()->customer->get_shipping_country(); if ($shipping_country == 'US') { WC()->cart->add_fee('Additional shipping fee', 10.00); } }  

Read More

Add Custom Field for Products

add_action('woocommerce_product_options_general_product_data', 'add_custom_product_field'); function add_custom_product_field() { woocommerce_wp_text_input(array( 'id' => 'custom_field', 'label' => __('Custom Field', 'woocommerce'), 'placeholder' => __('Enter information here.'), 'desc_tip' => 'true', )); } add_action('woocommerce_process_product_meta', 'save_custom_product_field'); function save_custom_product_field($post_id) { $custom_field = $_POST['custom_field']; if (!empty($custom_field)) { update_post_meta($post_id, 'custom_field', esc_attr($custom_field)); } }  

Read More

Hide shipping options based on shopping cart contents

add_filter(‘woocommerce_package_rates’, ‘hide_shipping_based_on_cart_content’, 10, 2); function hide_shipping_based_on_cart_content($rates, $package) { $cart_contains_digital_products = false; foreach ($package[‘contents’] as $item) { $product = $item[‘data’]; if ($product->is_downloadable()) { $cart_contains_digital_products = true; break; } } if ($cart_contains_digital_products) { foreach ($rates as $rate_id => $rate) { if (‘flat_rate’ === $rate->method_id) { unset($rates[$rate_id]); // Flat Rate Versand entfernen } } } return $rates; } […]

Read More

Add additional fee based on the number of products

add_action('woocommerce_cart_calculate_fees', 'add_fee_based_on_product_count'); function add_fee_based_on_product_count() { $product_count = WC()->cart->get_cart_contents_count(); if ($product_count >= 5) { WC()->cart->add_fee('Additional fee', 5.00); } }  

Read More