Tôi không nghĩ get_categories()
là lựa chọn tốt nhất cho bạn trong trường hợp này bởi vì nó trả về một chuỗi với tất cả các danh mục được liệt kê dưới dạng thẻ neo, tốt để hiển thị, nhưng không tuyệt vời để tìm ra mã trong danh mục đó là gì. Ok, vì vậy điều đầu tiên bạn cần làm là lấy đối tượng sản phẩm / bài đăng cho trang hiện tại nếu bạn chưa có nó:
global $post;
Sau đó, bạn có thể nhận được các đối tượng hạn loại danh mục sản phẩm (các danh mục) cho sản phẩm. Ở đây tôi đang biến các đối tượng thuật ngữ danh mục thành một mảng đơn giản có tên $categories
để dễ dàng hơn để xem những con sên nào được gán. Lưu ý rằng điều này sẽ trả về tất cả các danh mục được gán cho sản phẩm, không chỉ một trong những trang hiện tại, tức là nếu chúng tôi đang trên /shop/audio/funzo/
:
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
Sau đó, chúng ta chỉ cần kiểm tra xem một danh mục có trong danh sách hay không:
if ( in_array( 'audio', $categories ) ) { // do something
Để tất cả chúng cùng nhau:
<?php
global $post;
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
if ( in_array( 'audio', $categories ) ) {
echo 'In audio';
woocommerce_get_template_part( 'content', 'single-product' );
} elseif ( in_array( 'elektro', $categories ) ) {
echo 'In elektro';
woocommerce_get_template_part( 'content', 'single-product' );
} else {
echo 'some blabla';
}
Hy vọng rằng đây là những gì bạn đang tìm kiếm và trả lời câu hỏi của bạn.
)
? Nó nên làif (is_product_category('audio'))