मुझे नहीं लगता कि get_categories()
इस मामले में आपके लिए सबसे अच्छा विकल्प है क्योंकि यह एंकर टैग के रूप में सूचीबद्ध सभी श्रेणियों के साथ एक स्ट्रिंग लौटाता है, प्रदर्शित करने के लिए ठीक है, लेकिन कोड में पता लगाने के लिए महान नहीं है कि श्रेणियां क्या हैं। ठीक है, तो पहली चीज जो आपको करने की ज़रूरत है वह वर्तमान पृष्ठ के लिए उत्पाद / पोस्ट ऑब्जेक्ट को हड़प लेती है यदि आपके पास पहले से नहीं है:
global $post;
तब आप उत्पाद के लिए उत्पाद श्रेणी शब्द (श्रेणियां) प्राप्त कर सकते हैं। यहां मैं श्रेणी शब्द वस्तुओं को एक साधारण सरणी में बदल रहा हूं, जिसका नाम $categories
यह देखना आसान है कि स्लग को क्या सौंपा गया है। ध्यान दें कि यह उत्पाद को सौंपे गए सभी श्रेणियों को लौटाएगा , न कि केवल वर्तमान पृष्ठ में से एक, अर्थात यदि हम इस पर हैं /shop/audio/funzo/
:
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
फिर हमें बस यह जाँचना है कि कोई सूची सूची में है या नहीं:
if ( in_array( 'audio', $categories ) ) { // do something
यह सब एक साथ डालें:
<?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';
}
उम्मीद है कि यह वही है जो आप देख रहे थे और आपके प्रश्न का उत्तर देते हैं।
)
? यह होना चाहिएif (is_product_category('audio'))