Thêm đơn vị tính Kg,Cm sau giá trong Woocommerce

Xin chào anh em hôm nay mình xin chia sẽ cho anh em cách thêm đơn vị tính phía sau giá trong Woocommerce hoặc đơn vị nào tùy ý các bạn

ảnh ví dụ về thêm đơn vị sau sản phẩm trong Woocommerce

Bước 1: Code Function Nhập Dữ Liệu Sản Phẩm

Bạn nhớ thêm code này vào file function.php

/*them nội dung trước và sau giá sản phẩm*/
add_action( 'woocommerce_product_options_general_product_data', 'devvn_presuffix_products' );
function devvn_presuffix_products() {
    //Add metabox prefix to product
    woocommerce_wp_text_input( array(
        'id' => '_product_prefix',
        'label' => 'Prefix',
        'description' => 'Add prefix to price. Leave blank to default.',
        'desc_tip' => 'true',
    ) );
    //Add metabox suffix to product
    woocommerce_wp_text_input( array(
        'id' => '_product_suffix',
        'label' => 'Suffix',
        'description' => 'Add suffix to price. Leave blank to default.',
        'desc_tip' => 'true',
    ) );
}
 
/*Save metabox prefix and suffix*/
add_action( 'woocommerce_process_product_meta', 'devvn_presuffix_products_save' );
function devvn_presuffix_products_save( $post_id ) {
    if ( ! empty( $_POST['_product_prefix'] ) ) {
        update_post_meta( $post_id, '_product_prefix', esc_attr( $_POST['_product_prefix'] ) );
    }
    if ( ! empty( $_POST['_product_suffix'] ) ) {
        update_post_meta( $post_id, '_product_suffix', esc_attr( $_POST['_product_suffix'] ) );
    }
}

//Add metabox prefix to product : Nhập dữ liệu trước giá sản phẩm
//Add metabox suffix to product : Nhập dữ liệu sau giá sản phẩm
/*Save metabox prefix and suffix*/ : Lưu trữ dữ liệu
Bạn có thể xoá dữ liệu nào bạn không cần thiết.

Bước 2: Thêm Nội Dung Trước Và Sau Giá Sản Phẩm Woocommerce

Bạn đăng nhập rồi chỉnh sửa sản phẩm sẽ có 2 phần này nha

Prefix là trước sản phẩm

Suffix là sau sản phẩm

Bước 3: Hiển Thị Nội Dung Trước Và Sau Giá Sản Phẩm

bạn cần coppy thêm code này để vào trong function.php nữa nhé là xong sẽ hiển thị ngoài sản phẩm

/*Add to price html*/
add_filter( 'woocommerce_get_price_html', 'bbloomer_price_prefix_suffix', 100, 2 );
function bbloomer_price_prefix_suffix( $price, $product ){
    $prefix = get_option( 'devvn_woocommerce_price_prefix');
    $suffix = get_option( 'devvn_woocommerce_price_suffix');
 
    $prefix_product = sanitize_text_field(get_post_meta($product->get_ID(), '_product_prefix', true));
    $suffix_product = sanitize_text_field(get_post_meta($product->get_ID(), '_product_suffix', true));
 
    if($prefix_product || (is_numeric($prefix_product) && $prefix_product == 0)) $prefix = $prefix_product;
    if($suffix_product || (is_numeric($suffix_product) && $suffix_product == 0)) $suffix = $suffix_product;
 
    $prefix = ($prefix && $prefix !== 0)?'<span class="devvn_woocommerce_price_prefix">'.$prefix.'</span>':'';
    $suffix = ($suffix && $suffix !== 0)?'<span class="devvn_woocommerce_price_suffix">'.$suffix.'</span>':'';
 
    $price = $prefix.$price.$suffix;
     
    return apply_filters( 'devvn_woocommerce_get_price', $price );
}

Chúc các bạn thành công nhé

0
Rất thích suy nghĩ của bạn, hãy bình luận.x
()
x