admin管理员组文章数量:1334165
In OceanWP, I want to alter my shop page by a Beaver Builder template so I modified part of the index.php file as follows:
<?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;
}
?>
Blog page & jobs page do display the Beaver Builder template, however for the shop page, I don't manage to alter the lay-out. What am I doing wrong here?
In OceanWP, I want to alter my shop page by a Beaver Builder template so I modified part of the index.php file as follows:
<?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;
}
?>
Blog page & jobs page do display the Beaver Builder template, however for the shop page, I don't manage to alter the lay-out. What am I doing wrong here?
Share Improve this question edited Jun 8, 2020 at 19:35 BarrieO asked Jun 8, 2020 at 15:52 BarrieOBarrieO 992 silver badges12 bronze badges1 Answer
Reset to default 0Solution was the following: I had to alter my archive-product.php template file as this one is more specific in the template hierarchy than the index.php one. The archive-product.php took the overhand, so changing my index.php did not have any effect on my shop archive page.
I copied the archive-product.php template file in my child theme & modified it as follows:
<?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/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' );
本文标签: woocommerce offtopicAlter shop page layout in OceanWP theme
版权声明:本文标题:woocommerce offtopic - Alter shop page lay-out in OceanWP theme 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742364792a2461070.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论