Hi,
In my WooCommerce Views setting I use "Use WooCommerce default templates".
So I edited my single-product.php and placed it in the WooCOmmerce folder of my Toolset bootstrap child theme.
It looks like this:
<?php /** * The Template for displaying all single products. * * Override this template by copying it to yourtheme/woocommerce/single-product.php * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly get_header(); ?> <?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 while ( have_posts() ) : the_post(); ?> <?php woocommerce_get_template_part( 'content', 'single-product' ); ?> <?php endwhile; // end of the loop. ?> <?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 get_footer(); ?>
You can see two do_actions there:
woocommerce_before_main_content
woocommerce_after_main_content
In woocommerce-hooks.php you can find:
/** * Content Wrappers * * @see woocommerce_output_content_wrapper() * @see woocommerce_output_content_wrapper_end() */ add_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); add_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
In woocommerce-template.php you can see this should load two woocommerce template files:
/** Global ****************************************************************/ if ( ! function_exists( 'woocommerce_output_content_wrapper' ) ) { /** * Output the start of the page wrapper. * * @access public * @return void */ function woocommerce_output_content_wrapper() { woocommerce_get_template( 'shop/wrapper-start.php' ); } } if ( ! function_exists( 'woocommerce_output_content_wrapper_end' ) ) { /** * Output the end of the page wrapper. * * @access public * @return void */ function woocommerce_output_content_wrapper_end() { woocommerce_get_template( 'shop/wrapper-end.php' ); } }
And that is where the problem is > that is not happening.
I only solved the problem by adding this to my child theme functions.php, but that should not be necesarry, because on the Github from woocommerce nobody else was experiencing the problem I have.
This is the temporary solution:
// Note: // 1) Overwriting shop/wrapper-end.php and shop/wrapper-start.php was not enough, because those actions calling these templates are not working for some reason // 2) See https://github.com/woothemes/woocommerce/issues/4376 // 3) See add_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 20 ); add_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 20 );
Kind regards,
Willem