Bagaimana di dunia saya dapat memeriksa apakah suatu produk dalam kategori produk tertentu pada single-product.php ?
<?php if (is_product_category('audio')) {
echo 'In audio';
woocommerce_get_template_part( 'content', 'single-product' );
} elseif (is_product_category('elektro')) {
echo 'In elektro';
woocommerce_get_template_part( 'content', 'single-product' );
} else {
echo 'some blabla'; } ?>
is_product_category ('slug') tidak berpengaruh pada single-product.php . Saya ingin memiliki persyaratan atas. Adakah solusi untuk ini pada satu halaman produk?
)
? Seharusnyaif (is_product_category('audio'))
Jawaban:
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: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/
:Maka kita hanya perlu memeriksa apakah suatu kategori ada dalam daftar:
Menyatukan semuanya:
Semoga ini yang Anda cari dan jawab pertanyaan Anda.
sumber
has_term
harus bekerja dalam hal ini:sumber
if { thing; return;}
Perlu dicatat bahwa Anda dapat menelusuri daftar opsi dengan memanggil array daripada harus mengacaukan kode Anda dengan banyak cek lain, dengan asumsi Anda ingin melakukan hal yang sama dengan setiap kategori.
sumber
Ini sudah tua tapi siapa tahu masih mencari WooThemes sebagai solusi sederhana:
* Ubah 'kategori_Anda' menjadi apa pun yang Anda gunakan.
Berikut ini tautan menuju dokumentasi: https://docs.woothemes.com/document/remov-product-content-based-on-category/
sumber
Saya akan melihat menggunakan
get_categories()
fungsi kelas WC_Product.Anda dapat menemukan tautan ke dokumentasi di sini .
Pada dasarnya di dalam loop halaman, panggil fungsi untuk mengembalikan kategori yang terkait dengan produk.
sumber