Allow template overrides for Shop page or any relating to (archive-product.php)
The `woocommerce_content();` is a catchall and requires the use of hooks for modifications to alter the Shop page or any relating to `archive-product.php` page eg Product Category, Taxonomy, Search pages. This change allows both. If you don't create an `archive-product.php` template override under the /woocommerce folder it will just use the `woocommerce_content();` catchall.
This commit is contained in:
parent
8d68755338
commit
0b968fe9c3
|
@ -28,7 +28,27 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
||||||
|
|
||||||
<main class="site-main" id="main">
|
<main class="site-main" id="main">
|
||||||
|
|
||||||
<?php woocommerce_content(); ?>
|
<?php
|
||||||
|
$template_name = '\archive-product.php';
|
||||||
|
$args = array();
|
||||||
|
$template_path = '';
|
||||||
|
$default_path = untrailingslashit( plugin_dir_path(__FILE__) ) . '\woocommerce';
|
||||||
|
|
||||||
|
if ( is_singular( 'product' ) ) {
|
||||||
|
|
||||||
|
woocommerce_content();
|
||||||
|
|
||||||
|
//For ANY product archive, Product taxonomy, product search or /shop landing page etc Fetch the template override;
|
||||||
|
} elseif ( file_exists( $default_path . $template_name ) )
|
||||||
|
{
|
||||||
|
wc_get_template( $template_name, $args, $template_path, $default_path );
|
||||||
|
|
||||||
|
//If no archive-product.php template exists, default to catchall;
|
||||||
|
} else {
|
||||||
|
woocommerce_content( );
|
||||||
|
}
|
||||||
|
|
||||||
|
;?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
|
||||||
|
|
Reference in New Issue