1BANNER 123
5/5 - (529 bình chọn)

Trước thấy có bạn hỏi cách để hiển thị các thuộc tính sản phẩm ra ngoài trang sản phẩm, cũng lâu rồi chưa chia sẻ cái gì mới, nên hôm nay mình sẽ share cho các bạn một đoạn function để có thể hiện thị được các thuộc tính sản phẩm nhé.

LƯU Ý: CÁC BẠN PHẢI CHỌN THUỘC TÍNH Ở CHẾ ĐỘ LƯU TRỮ.

Hiển thị các thuộc tính trên trang sản phẩm.

Các bạn chỉ cần thêm đoạn function này vào file function của mình là được nhé:

function thuoctinh_pttuan(){
    global $product;
    $attributes = $product->get_attributes();
    if ( ! $attributes ) {
        return;
    }
    $display_result = '';
    foreach ( $attributes as $attribute ) {
        if ( $attribute->get_variation() ) {
            continue;
        }
        $name = $attribute->get_name();
        if ( $attribute->is_taxonomy() ) {
            $terms = wp_get_post_terms( $product->get_id(), $name, 'all' );
            $cwtax = $terms[0]->taxonomy;
            $cw_object_taxonomy = get_taxonomy($cwtax);
            if ( isset ($cw_object_taxonomy->labels->singular_name) ) {
                $tax_label = $cw_object_taxonomy->labels->singular_name;
            } elseif ( isset( $cw_object_taxonomy->label ) ) {
                $tax_label = $cw_object_taxonomy->label;
                if ( 0 === strpos( $tax_label, 'Product ' ) ) {
                    $tax_label = substr( $tax_label, 8 );
                }
            }
            $display_result .= '<span>'.$tax_label . ': ';
            $tax_terms = array();
            foreach ( $terms as $term ) {
                $single_term = '<a href="'.get_term_link($term->slug, $term->taxonomy).'">'.esc_html( $term->name ).'</a>';
                array_push( $tax_terms, $single_term );
            }
            $display_result .= implode(', ', $tax_terms) .  '</span>';
        } else {
            $display_result .= $name . ': ';
            $display_result .= esc_html( implode( ', ', $attribute->get_options() ) ) . '<br>';
        }
    }
    echo $display_result;
}
add_action('woocommerce_product_meta_end','thuoctinh_pttuan',11);

Hook mình sử dụng là hook chỗ hiển thị danh mục sản phẩm, nếu như các bạn có ẩn nó đi thì có thể hook vào vị trí khác nhé. Hoặc hook vào bất kì đâu các bạn thích trong trang sản phẩm là được.

Chỉ cần thay đoạn này bằng hook mà mình mong muốn

add_action('woocommerce_product_meta_end','thuoctinh_pttuan',11);

24 thoughts on “Hướng dẫn hiển thị các thuộc tính của sản phẩm.

  1. QThuan says:

    Anh Tuấn ơi, cho em thắc mắc là giờ em muốn hiển thị các trường này theo dạng table 2 cột thì em xài lệnh gì được ạ! Cám ơn anh vì những kiến thức hữu ích. Chúc anh sức khỏe

  2. Lưu Tuần Vân says:

    Chào bạn Mình làm được rồi. Mình muốn khi click vào thông số trong thuộc tính thì nó mở ra 1 trang gồm những sản phẩm cùng thông số của thuộc tính đó. Bạn viết thêm cho mình. Mình gửi caphe cho bạn được không . OK thì hồi âm email cho mình nhe

    • Thành Tuấn says:

      Bạn phải biết cách if else thì mới có thể tùy chỉnh được thuộc tính mà mình muốn hiển thị, hoặc bạn có thể tìm hiểu về get term của wordpress

  3. Dương says:

    Hi bác Tuấn,

    Dòng code “functions thuoctinh_pttuan(){ ” đầu tiên, chữ functions bị dư chữ s nên bị lỗi ý . Newbie dễ vướng chỗ này nè 😀

    Thanks bác vì bài viết bổ ích . Mình sẽ donate cho bác

    • Thành Tuấn says:

      ^^ thời gian đầu mình cố tình ghi như vậy để anh em đọc hết bài, mà giờ nghĩ lại không cần làm như vậy nữa. Cảm ơn bạn.

    • Thành Tuấn says:

      Thì bạn phải nắm được các hook đó, bạn vào uxbuilder của product search hook sẽ thấy các hook nó tạo cho trang builder product nhé

  4. Hải says:

    Mình có thử qua mà ko hiển thị , mình có sửa “B ác bạn lưu ý là mình cố tình gõ sai function thành functions,” nhưng vẫn ko show

    • Thành Tuấn says:

      Bạn nhớ đọc kĩ bài, vì mình có cố tình gõ sai 1 số chỗ, bạn đọc kỹ bài để biết chỗ sửa nhé

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *