Not just show top-level cats, add archive-product template for possible editing
authorLaury GvR <laury@gaslightmedia.com>
Wed, 30 Mar 2016 21:29:12 +0000 (17:29 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Wed, 30 Mar 2016 21:29:12 +0000 (17:29 -0400)
parts/shop-sidebar.php
woocommerce/archive-product.php [new file with mode: 0644]

index f16023f..23f2f34 100644 (file)
@@ -3,8 +3,8 @@
                     <a href="<?php echo esc_url( get_permalink( woocommerce_get_page_id( 'shop' ) ) ); ?>">
                         <h1>Products</h1>
                     </a>
-
-                    <?php echo do_shortcode('[product_categories number="" orderby="name" order="asc" columns="1" hide_empty="0" parent="0" ids=""]'); ?>
+<!-- Adding parent_id="0" to the shortcode attributes below places it back the way it was, just showing top-level cats -->
+                    <?php echo do_shortcode('[product_categories number="" hierarchical="1" orderby="name" order="asc" columns="1" hide_empty="0" ids=""]'); ?>
                 </div>
 
 <script>
diff --git a/woocommerce/archive-product.php b/woocommerce/archive-product.php
new file mode 100644 (file)
index 0000000..c4eb131
--- /dev/null
@@ -0,0 +1,107 @@
+<?php
+/**
+ * The Template for displaying product archives, including the main shop page which is a post type archive
+ *
+ * This template can be overridden by copying it to yourtheme/woocommerce/archive-product.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            http://docs.woothemes.com/document/template-structure/
+ * @author             WooThemes
+ * @package    WooCommerce/Templates
+ * @version     2.0.0
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+       exit; // Exit if accessed directly
+}
+
+get_header( 'shop' ); ?>
+
+       <?php
+               /**
+                * woocommerce_before_main_content hook.
+                *
+                * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
+                * @hooked woocommerce_breadcrumb - 20
+                */
+               do_action( 'woocommerce_before_main_content' );
+       ?>
+
+               <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
+
+                       <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
+
+               <?php endif; ?>
+
+               <?php
+                       /**
+                        * woocommerce_archive_description hook.
+                        *
+                        * @hooked woocommerce_taxonomy_archive_description - 10
+                        * @hooked woocommerce_product_archive_description - 10
+                        */
+                       do_action( 'woocommerce_archive_description' );
+               ?>
+
+               <?php if ( have_posts() ) : ?>
+
+                       <?php
+                               /**
+                                * woocommerce_before_shop_loop hook.
+                                *
+                                * @hooked woocommerce_result_count - 20
+                                * @hooked woocommerce_catalog_ordering - 30
+                                */
+                               do_action( 'woocommerce_before_shop_loop' );
+                       ?>
+
+                       <?php woocommerce_product_loop_start(); ?>
+
+                               <?php woocommerce_product_subcategories(); ?>
+
+                               <?php while ( have_posts() ) : the_post(); ?>
+
+                                       <?php wc_get_template_part( 'content', 'product' ); ?>
+
+                               <?php endwhile; // end of the loop. ?>
+
+                       <?php woocommerce_product_loop_end(); ?>
+
+                       <?php
+                               /**
+                                * woocommerce_after_shop_loop hook.
+                                *
+                                * @hooked woocommerce_pagination - 10
+                                */
+                               do_action( 'woocommerce_after_shop_loop' );
+                       ?>
+
+               <?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
+
+                       <?php wc_get_template( 'loop/no-products-found.php' ); ?>
+
+               <?php endif; ?>
+
+       <?php
+               /**
+                * woocommerce_after_main_content hook.
+                *
+                * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
+                */
+               do_action( 'woocommerce_after_main_content' );
+       ?>
+
+       <?php
+               /**
+                * woocommerce_sidebar hook.
+                *
+                * @hooked woocommerce_get_sidebar - 10
+                */
+               do_action( 'woocommerce_sidebar' );
+       ?>
+
+<?php get_footer( 'shop' ); ?>