I’m currently working on an ecommerce website and I met an problem.
My client want a page e-boutique with all the product categories displayed, followed by three promoted products and a button “show all”.
This “Show all” button is supposed to show all the product that the store contains with the default woocommerce sorting and paging.
First of all, I dunno I’m doing it the right way. What I have so far is the page showing the product categories and when on this page I click the “show all” button, I reload the page with a GET
argument /?all=1
and have the product displayed.
<a class="product-category-view-all" href="https://wordpress.stackexchange.com/questions/101914/?all=1"><?php _e('View all'); ?></a>
I copied the idea from this post, and here is my code:
<div id="content" class="hfeed">
<h1><?php _e('The E-boutique'); ?></h1>
<?php
if (isset($_GET['all']))
{
$args = array(
'post_type' => 'product',
'orderby' => $orderby,
);
$wp_query = new WP_Query($args);
?>
<?php do_action('woocommerce_before_shop_loop'); // woocommerce sorting ?>
<div class="clear"></div>
<ul class="products-list">
<?php woocommerce_product_subcategories(); ?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php woocommerce_get_template_part('content', 'product'); ?>
<?php
endwhile; // end of the loop.
wp_reset_query();
?>
</ul>
<div class="clear"></div>
<?php do_action('woocommerce_after_shop_loop'); // woocommerce pagination ?>
<?php
}
else
{
// Code to display the product categories with thumbnails.
}
?>
The products are well displayed and the select for the sorting is visible.
When I want to change the sorting, the page is reloaded but the order isn’t changed and the paging is set to 3 products per page but it is not respected. (the paging buttons aren’t displayed).
I would like to add that it’s my first website using WordPress and WooCommerce.