在 Woocommerce 中为特定产品类别使用自定义单个产品模板
Posted
技术标签:
【中文标题】在 Woocommerce 中为特定产品类别使用自定义单个产品模板【英文标题】:Using a custom single product template for a specific product category in Woocommerce 【发布时间】:2018-08-19 16:40:22 【问题描述】:我正在尝试仅为 woocommerce 商店中的一种产品使用自定义页面。我一直在尝试应用附加的函数,但没有成功(代码来自this answer)。
我在我的 /woocommerce 文件夹中创建了 single-product.php 文件的副本并添加了一些代码,但单个产品视图仅显示“标准”single-product-php 而不是我的 single-product- mock.php 文件。
并且该产品确实具有“自定义”产品类别。
add_filter( 'template_include', 'so_43621049_template_include', 10 );
function so_43621049_template_include( $template )
if ( is_singular('product') && (has_term( 'custom', 'product_cat')) )
$template = get_stylesheet_directory() . '/woocommerce/single-product-mock.php';
retur
【问题讨论】:
【参考方案1】:The code 您正在使用的工作非常完美。你的代码也有点不完整:
add_filter( 'template_include', 'custom_single_product_template_include', 50, 1 );
function custom_single_product_template_include( $template )
if ( is_singular('product') && (has_term( 'custom', 'product_cat')) )
$template = get_stylesheet_directory() . '/woocommerce/single-product-mock.php';
return $template;
所以问题可能与:
-
该自定义模板的位置,应位于活动子主题内的“woocommerce”文件夹中(或活动主题内)。
需要为您的主题启用 Woocommerce 支持。
解决方案:
-
确保在您的活动子主题(或活动主题)中有一个“woocommerce”文件夹,并在其中添加您的自定义模板
single-product-mock.php
(但 不在“模板”内子文件夹)
检查 Woocommerce 支持是否启用:
复制默认single-product.php
位于活动子主题(或活动主题)中的“woocommerce”文件夹中的模板
进入后端 Woocommerce > 状态……您通常会在“模板”部分(在本页末尾)看到:
带有活跃的子主题:
有一个活跃的主题:
如果未启用,您应该搜索并查看相关的 Woocommerce 文档。
其中一个应该可以解决您的问题。
【讨论】:
这行得通!太棒了,非常感谢。 @LoicTheAztec以上是关于在 Woocommerce 中为特定产品类别使用自定义单个产品模板的主要内容,如果未能解决你的问题,请参考以下文章
在 WooCommerce 中为特定产品类别自定义“添加到购物车”按钮
自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮
如何在 WooCommerce 中使用 SQL 查询选择特定类别的产品