it-swarm.com.de

Verwenden Sie is_product_category () richtig

Ich habe zwei Produktkategorien

  1. MEHRSPRACHIGES DIGITALES MARKETING (ID 75)
  2. INTERNATIONALE VERKAUFSKANÄLE (ID 107)

Ich möchte einen Code über if Bedingung nur für diese beiden Kategorien ausführen.

Ich habe versucht, diesen Code zu verwenden, aber es hat nicht funktioniert

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() ) { // only start if we hace some products

            // START some normal woocommerce loop

            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; // end of the loop.

            }

            woocommerce_product_loop_end();

            // END the normal woocommerce loop

            // Restore original post data, maybe not needed here (in a plugin it might be necessary)
            wp_reset_postdata();

        }
1
Nimesh Deo

is_product_category() darf nur auf den Seiten des Woocommerce-Kategoriearchivs verwendet werden. Vergewissern Sie sich daher zunächst, dass Sie sich im Kategoriearchiv befinden.

verwenden Sie anstelle der Kategorienummer den Namen der Kategorie-Slugs. is_product_category('category-slug')

es ist nicht erforderlich, eine OR (||) - Bedingung auszuführen. Verwenden Sie einfach is_product_category('category-slug1','category-slug2'), um die gleiche Ausgabe zu erhalten

2
Kanon Chowdhury

Versuchen:

if( is_product_category( 'category1-slug' ) || is_product_category( 'category2-slug' ) ) {
   //...
}
0
Bogdan Dragomir