Visa endast produkter från samma underkategori i Woocommerce

Woocommerce är en näthandelslösning för publiceringsverktyget WordPress. Det har en funktion för att visa relaterade produkter vilka tillhör samma produktkategori. Dock om en produkt tillhör två olika produktkategorier (parent/child) så visas produkter både från över- och underkategori.

Följ de här stegen

1. Kopiera filen /wp-content/plugins/woocommerce/templates/single-product/related.php

2. Klistra in i en ny mapp i /wp-content/themes/ditt-tema/woocommerce/single-product/

3. Öppna related.php och klistra in följande direkt under ”global…”:

$cats_array = array(0);
// Get categories
$terms = wp_get_post_terms( $product->id, 'product_cat' );
//Select only the category which doesn't have any children
foreach ( $terms as $term ) {
$children = get_term_children( $term->term_id, 'product_cat' );
if ( !sizeof( $children ) )
$cats_array[] = $term->term_id;
}

4. Byt ut den array som heter ”args” med följande:

$args = apply_filters( 'woocommerce_related_products_args', array(
'post_type' => 'product',
'ignore_sticky_posts' => 1,
'no_found_rows' => 1,
'posts_per_page' => $posts_per_page,
'orderby' => $orderby,
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => $cats_array
), ) ) );

5. Ladda upp via FTP. Klart! Nu ska du endast se relaterade produkter från samma underkategorier och inte från föräldern

(Testat med Woocommerce 2.3.9 och WordPress 4.2.2)