Show Wholesale Prices Text In Single Product Page For Wholesale Role Customers

/** * First Remove The Existing Pricing Filter So That It Will Be Available To All Users */ add_action(‘init’, ‘remove_existing_pricing_html’, 10); function remove_existing_pricing_html() { global $wc_wholesale_prices; remove_filter(‘woocommerce_get_price_html’, [$wc_wholesale_prices->wwp_for_non_wholesale_customer,’add_click_wholesale_price_for_non_wholesale_customers’], 10 ); } /** * Include Pricing HTML for all users */…Continue reading

Keep All Checkout Data in WooCommerce Session

add_action( ‘woocommerce_checkout_update_order_review’, ‘bbloomer_save_checkout_values’, 9999 ); function bbloomer_save_checkout_values( $posted_data ) { parse_str( $posted_data, $output ); WC()->session->set( ‘checkout_data’, $output ); } add_filter( ‘woocommerce_checkout_get_value’, ‘bbloomer_get_saved_checkout’, 9999, 2 ); function bbloomer_get_saved_checkout( $value, $index ) { $data = WC()->session->get( ‘checkout_data’ ); if ( ! $data…Continue reading

HPOS Order Table – Internal Name (Nickname) Column

// 1. Add “Internal Name” column after the Order Number column in HPOS Orders Table add_filter(‘woocommerce_shop_order_list_table_columns’, function($columns) { $new_columns = []; foreach ($columns as $key => $label) { $new_columns[$key] = $label; if ($key === ‘order_number’) { // Insert custom column…Continue reading

Legacy Order Table – Internal Name (Nickname) Column

if ( function_exists(‘wc_get_container’) && ! wc_get_container()->get(\Automattic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController::class)->custom_orders_table_usage_is_enabled() ) { // LEGACY ORDER TABLE SNIPPET HERE add_filter(‘manage_edit-shop_order_columns’, function($columns) { $new_columns = []; foreach ($columns as $key => $label) { $new_columns[$key] = $label; if ($key === ‘order_number’) { $new_columns[‘internal_name’] = ‘Internal Name’; }…Continue reading

Add vendor’s details on customer’s order email

add_action(‘woocommerce_email_after_order_table’, ‘wcv_add_vendor_info_to_email’, 20, 4); function wcv_add_vendor_info_to_email($order, $sent_to_admin, $plain_text, $email) { if (!class_exists(‘WCV_Vendors’)) { return; // WC Vendors not active } // Collect vendor IDs from order items $vendor_ids = array(); foreach ($order->get_items() as $item) { $product_id = $item->get_product_id(); $vendor_id =…Continue reading

Allow Admin to Redeem Customer’s Loyalty Points to Store Credits

add_action(‘wp_ajax_migrate_loyalty_to_credits’, function() { // Only allow admin users if (!current_user_can(‘manage_options’)) { wp_send_json_error(‘Unauthorized access’, 403); } global $wpdb; $loyalty_table = $wpdb->prefix . ‘acfw_loyalprog_entries’; $credits_table = $wpdb->prefix . ‘acfw_store_credits’; // Get the points-to-store-credits conversion ratio $conversion_ratio = floatval(get_option(‘acfw_loyalprog_cost_points_ratio’, 1)); // Step 1:…Continue reading