Folosirea corectă a funcției is_product_category()
20 iun. 2018, 14:16:47
Vizualizări: 19.8K
Voturi: 1
Am două categorii de produse:
- MARKETING DIGITAL MULTILINGV (ID 75)
- CANALE DE VÂNZĂRI INTERNAȚIONALE (ID 107)
Vreau să execut un cod specific prin intermediul unei condiții if doar pentru aceste două categorii.
Am încercat să folosesc acest cod dar nu a funcționat
if( is_product_category(107 || 75) ) {
$term = get_queried_object();
$parent = $term->parent;
if (!empty($parent)) {
$child_of = $parent;
} else {
$child_of = $term->term_id;
}
$terms = get_terms( array(
'taxonomy' => 'product_cat',
'child_of' => $child_of,
) );
if ($terms) {
foreach ( $terms as $category ) {
$category_id = $category->term_id;
$category_slug = $category->slug;
$category_name = $category->name;
$category_desc = $category->description;
echo '<div class="'.$category_slug.'">';
echo '<h2>'.$category_name.'</h2>';
if ($category_desc) {
echo '<p>'.$category_desc.'</p>';
}
$products_args = array(
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => $category_id,
),
),
);
$products = new WP_Query( $products_args );
if ( $products->have_posts() ) { // începe doar dacă avem produse
// ÎNCEPE bucla normală WooCommerce
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( $products->have_posts() ) : $products->the_post();
/**
* Hook: woocommerce_shop_loop.
*
* @hooked WC_Structured_Data::generate_product_data() - 10
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
endwhile; // sfârșitul buclei.
}
woocommerce_product_loop_end();
// SFÂRȘIT bucla normală WooCommerce
// Restaurează datele postării originale, poate nu este necesar aici (într-un plugin ar putea fi necesar)
wp_reset_postdata();
}

Nimesh Deo
71
Toate răspunsurile la întrebare
3
0
is_product_category()
trebuie utilizat doar pe paginile de arhivă ale categoriilor WooCommerce, așa că mai întâi asigură-te că te afli pe o pagină de arhivă a categoriei.
în loc de numărul categoriei, folosește numele slug al categoriei is_product_category('category-slug')
nu este nevoie să rulezi condiția SAU(||), folosește direct is_product_category('category-slug1','category-slug2')
pentru a obține același rezultat

Shamsur Rahman
591
20 iun. 2018 14:46:31
Întrebări similare
3
răspunsuri
3
răspunsuri
1
răspunsuri