如何将侧边栏添加到woocommerce页面

LTe*_*ech 0 wordpress woocommerce

我有一个wordpress网站,正在使用woocommerce插件。我有一个产品页面,边栏显示在页面底部。如何编辑代码以放置侧边栏,以便将侧边栏显示在主要内容区域的左侧。不在主要内容范围内吗?

模板的代码是:

    <?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 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' );
    ?>
Run Code Online (Sandbox Code Playgroud)

Aib*_*ean 5

您将需要编辑包装器以支持WooCommerce模板系统。这可以通过以下两种方式之一完成。

第一种方法是woocommerce.php在适当的主题目录中创建一个文件(使用主题的侧边栏布局模板作为基础)。这将覆盖WooCommerce包装系统和archive-product.php模板。由于它将根据您的主题工作,因此它将给您更多的控制权。您将需要用替换模板中的循环。<?php woocommerce_content(); ?>您可以在上面的示例中注释掉边栏,并在woocommerce边栏中使用主题的设置边栏位置<?php do_action( 'woocommerce_sidebar' );?>。有关更多信息,请参见http://docs.woothemes.com/document/third-party-custom-theme-compatibility/

另一个选择是编辑WooCommerce包装器以调整类,以便您的侧边栏有足够的空间。该<?php do_action( 'woocommerce_after_main_content' );?>是包装的结束。在WooCommerce模板系统中的global > wrapper-start.php和下global > wrapper-end.php(确保将它们复制到各自文件夹中woocommerce文件夹下的主题目录中)。