R
R
Raymondy2017-06-07 14:31:39
WordPress
Raymondy, 2017-06-07 14:31:39

Change Woocommerce Related Products Display Category?

Hey! Tell me where to dig or in what direction to think, or maybe even how to do it?))
I have "related products" (related products) on the product page below. It just doesn't show up there at all. If I understood correctly, the products of the entire category are displayed there (and in this category there are more than 900 products of different subcategories). Therefore, I need the Related products block to display products of the third level subcategory that correspond to the product being viewed.
For example, the Product is located in a subcategory (dvr-ford-focus3). When viewing this product, similar products from the DVR category are now displayed below. And I need similar products to be displayed already from the "-focus3" subcategory.
I found only this code, which seems to be responsible for the output "

<?php
/**
* Related Products
*
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/related.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* see https://docs.woocommerce.com/document/template-struct..
* author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $product, $woocommerce_loop;
if ( empty( $product ) || ! $product->exists() ) {
return;
}
if ( ! $related = $product->get_related( $posts_per_page ) ) {
return;
}
$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 ,
'post__in' => $related,
'
$products = new WP_Query( $args );
$woocommerce_loop['name'] = 'related';
$woocommerce_loop['columns'] = apply_filters( 'woocommerce_related_products_columns', $columns );
if ( $products->have_posts() ) : ?>
<?php _e( 'Related Products', 'woocommerce' ); ?>
<?php woocommerce_product_loop_start(); ?>
<?php while ( $products->have_posts() ) : $products->the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php endif;
wp_reset_postdata();

I tried the solution from this site: opttour(dot)ru/web/wordpress/pravilnyie-pohozhie-tovaryi-v-woocommerce/
Something obviously changed in the output, but did not solve the problem...

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question