Saya tidak berpikir get_categories()
adalah pilihan terbaik untuk Anda dalam hal ini karena ini mengembalikan string dengan semua kategori yang terdaftar sebagai tag jangkar, baik untuk ditampilkan, tetapi tidak bagus untuk mencari tahu dalam kode apa kategorinya. Ok, jadi hal pertama yang perlu Anda lakukan adalah ambil objek produk / posting untuk halaman saat ini jika Anda belum memilikinya:
global $post;
Kemudian Anda bisa mendapatkan objek istilah kategori produk (kategori) untuk produk. Di sini saya mengubah objek istilah kategori menjadi array sederhana bernama $categories
sehingga lebih mudah untuk melihat siput apa yang ditugaskan. Perhatikan bahwa ini akan mengembalikan semua kategori yang ditetapkan untuk produk, bukan hanya yang ada di halaman saat ini, yaitu jika kita aktif /shop/audio/funzo/
:
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
Maka kita hanya perlu memeriksa apakah suatu kategori ada dalam daftar:
if ( in_array( 'audio', $categories ) ) { // do something
Menyatukan semuanya:
<?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';
}
Semoga ini yang Anda cari dan jawab pertanyaan Anda.
)
? Seharusnyaif (is_product_category('audio'))