【问题标题】:Using a custom single product template for a specific product category in Woocommerce在 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

【问题讨论】:

    标签: php wordpress templates woocommerce custom-taxonomy


    【解决方案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;
    }
    

    所以问题可能与:

    1. 该自定义模板的位置,应位于活动子主题内的“woocommerce”文件夹中(或活动主题内)
    2. 需要为您的主题启用 Woocommerce 支持。

    解决方案:

    1. 确保在您的活动子主题(或活动主题)中有一个“woocommerce”文件夹,并在其中添加您的自定义模板single-product-mock.php
      (但 不在“模板”内子文件夹)
    2. 检查 Woocommerce 支持是否启用:
      • 复制默认single-product.php 位于活动子主题(或活动主题)中的“woocommerce”文件夹中的模板
      • 进入后端 Woocommerce > 状态……您通常会在“模板”部分(在本页末尾)看到:

        带有活跃的子主题:
        有一个活跃的主题:
      • 如果未启用,您应该搜索并查看相关的 Woocommerce 文档。

    其中一个应该可以解决您的问题。

    【讨论】:

    • 这行得通!太棒了,非常感谢。 @LoicTheAztec
    猜你喜欢
    • 1970-01-01
    • 2017-11-13
    • 2018-07-07
    • 1970-01-01
    • 2016-08-06
    • 2018-01-25
    • 2023-04-08
    • 2016-07-16
    相关资源
    最近更新 更多