Woocommerce产品和类别页面具有与其他WC页面不同的模板

时间:2016-10-11 23:40:05

标签: wordpress woocommerce

我有一个使用WooCommerce销售商品的网站。这是我的演示网站:

http://demo.bergdahl.com/

您可以在此处查看电子商务页面及其布局:

布局1(左侧和右侧边栏): 产品清单:http://demo.bergdahl.com/shop/ 类别页面:http://demo.bergdahl.com/product-category/catridges/

布局2(仅限右侧边栏): 单品页:http://demo.bergdahl.com/product/6-oz-catridge/

我已经得到它以便大多数WooCommerce页面使用布局1,除了具有布局2的单个产品页面。布局2被设置为主题中的默认布局并适用于该网站的其他170页。我不想更改默认布局,我只想找出可用于设置单个产品页面布局的页面。

基本上,我希望所有WC页面都使用布局1.

我的问题是,WooCommerce如何选择将哪种布局分配给哪种类型的网页?

似乎从博客页面布局中提取了产品列表和类别页面。购物车,结帐和我的帐户从他们的实际页面中提取。 我不确定如何在单个商品页面中设置布局。

P.S。 - 此网站使用较旧的主题,没有WC支持。我不知道这可能是问题,但我只能通过使用此处列出的woocommerce_content()方法来调整主题:https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/?utm_source=notice&utm_medium=product&utm_content=themecompatibility&utm_campaign=woocommerceplugin

2 个答案:

答案 0 :(得分:1)

您可以覆盖单一产品模板。

要覆盖单个产品模板,请复制: wp-content / plugins / woocommerce / templates / single-product to 可湿性粉剂内容/主题/生成器/ woocommerce /单品

通过主题在Template Structure + overriding template处有一个关于WooCommerce主题覆盖的官方文档。

答案 1 :(得分:1)

感谢Lax,我找到了解决方法。我实际上使用了我在主题的page.php中创建的woocommerce.php。这是从产品所在的容器中取出的。

然后我使用dynamic_sidebar('sidebar_name_here')在该页面上显示侧边栏。我使用的完整代码是:

<?php if(is_product()){?>
  <div class="store-sidebar-left">
    <?php dynamic_sidebar('store-sidebar-left');?>
  </div>
<?php } ?>

这使它只能在单个产品页面上显示。

我遇到一个小问题,在我的主题或数据库中找不到侧边栏的名称,所以我刚刚在我的functions.php文件中创建了一个新文件并使用了该文件。