[WP] Fix giá 0₫ cho WooCommerce 3.1

Hôm nay, một người bạn của mình đã cập nhật WooCommerce của anh ấy lên bản mới nhất và phát hiện ra chữ Free! mà mình đã fix thành CALL đã biến thành 0₫ là thế là chúng ta có bài viết này. Thật ra, mình cũng muốn lưu lại và chia sẻ với anh em là chính.

Trong lúc tìm kiếm mình phát hiện gần như các bài viết chỉ na ná nhau và không giải quyết được vấn đề thực tế. Các đoạn code mình đã thử nghiệm chỉ có chuyển toàn bộ giá thành text hoặc ẩn đi toàn bộ giá. Cái mà mình tìm kiếm là chỉ có giá 0₫ là chuyển thành CALL và các giá bình thường thì nằm yên ở đó.

Cuối cùng mình cũng tìm ra:

function my_wc_custom_get_price_html( $price, $product ) {
	if ( $product->get_price() == 0 ) {
		if ( $product->is_on_sale() && $product->get_regular_price() ) {
			$regular_price = wc_get_price_to_display( $product, array( 'qty' => 1, 'price' => $product->get_regular_price() ) );

			$price = wc_format_price_range( $regular_price, __( 'Free!', 'woocommerce' ) );
		} else {
			$price = '<span class="amount">' . __( 'CALL-090xxx', 'woocommerce' ) . '</span>';
		}
	}

	return $price;
}

add_filter( 'woocommerce_get_price_html', 'my_wc_custom_get_price_html', 10, 2 );

Mình đã test thành công! Hy vọng bài viết này giúp được anh em.

2 Comments

    • Lỗi nhưng thế nào vậy bạn? Bạn đã khắc phục được chưa? mình cũng làm theo hướng dẫn không sync qua fb được. Ko biết ntn, bạn chia sẽ chút được ko?

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.