在Ocean WP主题中更改商店页面布局

时间:2020-06-08 作者:BarrieO

在OceanWP中,我想通过Beaver Builder模板来修改我的商店页面,所以我修改了部分索引。php文件如下:

<?php

// BLOG PAGE
if ( is_home() ) {

    /* Beaver Builder generated content for "Posts archive template" */
    echo do_shortcode( \'[fl_builder_insert_layout slug="posts-archive-template"]\' );

// SHOP PAGE
} elseif ( is_shop() ) {

    /* Beaver Builder generated content for "Shop archive template" */
    echo do_shortcode( \'[fl_builder_insert_layout slug="products-archive-template"]\' );

// JOBS PAGE
} elseif ( is_post_type_archive( \'jobs\' ) ) {

    /* Beaver Builder generated content for "Jobs archive template" */
    echo do_shortcode( \'[fl_builder_insert_layout slug="jobs-archive-template"]\' );

// OTHER POST PAGES
} else {

    // Loop through posts
    while ( have_posts() ) : the_post(); ?>

        // Some code

    <?php endwhile; 

}
?>
&博客页面;jobs页面确实显示Beaver Builder模板,但是对于shop页面,我无法更改布局。我做错了什么?

1 个回复
最合适的回答,由SO网友:BarrieO 整理而成

解决方法如下:我必须改变我的archive-product.php 模板文件,因为此文件在模板层次结构中比索引更具体。php one。归档产品。php占据了上风,因此更改了我的索引。php对我的商店存档页面没有任何影响。

我复制了存档产品。“我的孩子”主题中的php模板文件;修改如下:

<?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 https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 3.4.0
 */

defined( \'ABSPATH\' ) || exit;

get_header( \'shop\' );

if ( is_shop() ) {

    /* Beaver Builder generated content for "Shop archive template" */
    /* --- */

    echo do_shortcode( \'[fl_builder_insert_layout slug="products-archive-template"]\' );

} else {

    /* Regular archive page for other shop pages */
    /* --- */

    /**
     * Hook: woocommerce_before_main_content.
     *
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
     * @hooked woocommerce_breadcrumb - 20
     * @hooked WC_Structured_Data::generate_website_data() - 30
     */
    do_action( \'woocommerce_before_main_content\' );

    ?>
    <header class="woocommerce-products-header">
        <?php if ( apply_filters( \'woocommerce_show_page_title\', true ) ) : ?>
            <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
        <?php endif; ?>

        <?php
        /**
         * Hook: woocommerce_archive_description.
         *
         * @hooked woocommerce_taxonomy_archive_description - 10
         * @hooked woocommerce_product_archive_description - 10
         */
        do_action( \'woocommerce_archive_description\' );

        ?>
    </header>
    <?php
    if ( woocommerce_product_loop() ) {

        /**
         * Hook: woocommerce_before_shop_loop.
         *
         * @hooked woocommerce_output_all_notices - 10
         * @hooked woocommerce_result_count - 20
         * @hooked woocommerce_catalog_ordering - 30
         */
        do_action( \'woocommerce_before_shop_loop\' );

        woocommerce_product_loop_start();

        if ( wc_get_loop_prop( \'total\' ) ) {
            while ( have_posts() ) {
                the_post();

                /**
                 * Hook: woocommerce_shop_loop.
                 */
                do_action( \'woocommerce_shop_loop\' );

                wc_get_template_part( \'content\', \'product\' );
            }
        }

        woocommerce_product_loop_end();

        /**
         * Hook: woocommerce_after_shop_loop.
         *
         * @hooked woocommerce_pagination - 10
         */
        do_action( \'woocommerce_after_shop_loop\' );
    } else {
        /**
         * Hook: woocommerce_no_products_found.
         *
         * @hooked wc_no_products_found - 10
         */
        do_action( \'woocommerce_no_products_found\' );
    }

    /**
     * Hook: woocommerce_after_main_content.
     *
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
     */
    do_action( \'woocommerce_after_main_content\' );

    /**
     * Hook: woocommerce_sidebar.
     *
     * @hooked woocommerce_get_sidebar - 10
     */
    do_action( \'woocommerce_sidebar\' );

}

get_footer( \'shop\' );

相关推荐