Rename WooCommerce “Coupon” terminology to “Discount”

if ( class_exists( ‘WooCommerce’ ) ) { add_filter( ‘gettext’, ‘rd_wc_generic_coupon_replacement’, 20, 3 ); add_filter( ‘ngettext’, ‘rd_wc_generic_coupon_replacement_plural’, 20, 5 ); // Also replace wording directly in notices (covers cases where text bypasses gettext later) add_filter( ‘woocommerce_add_notice’, ‘rd_wc_generic_coupon_replacement_in_notice’, 20, 1 ); add_filter(…Continue reading

Create ‘Clear Cart’ URL Parameter

if ( class_exists( ‘WooCommerce’ ) ) { add_action( ‘template_redirect’, function() { if ( ! WC()->cart ) { return; } if ( isset( $_GET[‘clear-cart’] ) && $_GET[‘clear-cart’] === ‘true’ ) { WC()->cart->empty_cart(); wp_safe_redirect( remove_query_arg( ‘clear-cart’ ) ); exit; } if (…Continue reading

Add Shipping Phone Field to Shipping Address section

if ( ! class_exists( ‘WooCommerce’ ) ) { return; } add_filter( ‘woocommerce_shipping_fields’, ‘rd_add_shipping_phone_field’ ); function rd_add_shipping_phone_field( $fields ) { $fields[‘shipping_phone’] = array( ‘label’ => __( ‘Phone (For Delivery Tracking SMS)’, ‘woocommerce’ ), ‘required’ => false, // Change to ‘true’ if…Continue reading

Show Certain Products to Certain Wholesale Customers Only

add_action( ‘pre_get_posts’, function ( WP_Query $query ) { // Only affect frontend main product queries (shop, category, etc.) if ( is_admin() || ! $query->is_main_query() || ‘product’ !== $query->get( ‘post_type’ ) ) { return; } $user_id = get_current_user_id(); // Admins /…Continue reading