I’ve got Related Products set up, but it’s only showing 2. I need it to show 5 across, but none of the code that I’ve tweaked has changed anything.
This is my related.php code:
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
global $product, $woocommerce_loop;
if ( empty( $product ) || ! $product->exists() ) {
return;
}
$related = $product->get_related( $posts_per_page );
if ( sizeof( $related ) == 0 ) return;
$args = apply_filters( 'woocommerce_related_products_args', array(
'post_type' => 'product',
'ignore_sticky_posts' => 1,
'no_found_rows' => 1,
'posts_per_page' => 5,
'orderby' => $orderby,
'post__in' => $related,
'post__not_in' => array( $product->id )
) );
$products = new WP_Query( $args );
$woocommerce_loop['columns'] = $columns;
if ( $products->have_posts() ) : ?>
<div class="related products">
<h2><?php _e( 'Related Products', 'woocommerce' ); ?></h2>
<?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(); ?>
</div>
<?php endif;
wp_reset_postdata();
and this is the related products code on the single product page template:
<div class="row">
<div class="col-md-12">
<?php echo do_shortcode ( '[related_products per_page="5"]' ); ?>
</div>
</div>
You need to create a woocomerce child page and connect to that. The ‘posts_per_page’ => 5, has no control over what is currently displaying. The woocomerce page handles that.
Then if you’re using a child theme create a folder called “woocommerce” and place a file called “similarProductsFive.php” inside of it, or place the child woocommerce folder with that file inside your theme.
Then add this code to similarProuctFive.php
You can then change the amount of products displaying here: