如何使用Avada子主题覆盖Woocommerce单个产品模板页面

如何使用Avada子主题覆盖Woocommerce单个产品模板页面,woocommerce,Woocommerce,我需要重新设计产品页面的默认woocommerce模板。 我尝试过将avada的结构复制到儿童主题 /theme/avada/woocommerce/single product/*至/theme/avada子主题/woocommerce/single product/ 但是我找不到显示整个页面的模板。只有title.php会更改标题。但找不到页面的其余部分。 我需要删除这些部分: - short description - sku - social media buttons 如何重新

我需要重新设计产品页面的默认woocommerce模板。 我尝试过将avada的结构复制到儿童主题

/theme/avada/woocommerce/single product/*
/theme/avada子主题/woocommerce/single product/

但是我找不到显示整个页面的模板。只有
title.php
会更改标题。但找不到页面的其余部分。 我需要删除这些部分:

 - short description
 - sku
 - social media buttons
如何重新设计一个完整的产品页面对我来说是新的。 也许有人可以给我一个开始在哪里找到模板

提前谢谢。 赫尔曼



我不知道Avada主题,但在默认情况下,您可以在模板中看到,短描述和社交按钮是通过hook添加的。因此,要删除它们,您需要从主题的
函数.php
中使用
remove\u action()

如果这不起作用,请检查,因为您只需要确保参数与Avada主题所做的匹配

function so_35252579_remove_hooks(){
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );
}
add_action( 'woocommerce_before_single_product', 'so_35252579_remove_hooks' );

要删除SKU,您可以禁用SKU,或者如果您需要SKU但不想在前端显示SKU,则需要覆盖这些SKU。以下是代码。您可以将其作为插件编写,也可以将粘贴复制到functions.php。请注意以下几点

  • 定位模板功能是首先查看活动主题根目录中的文件。如果文件存在,则它将使用。否则将检查插件文件夹
  • 首先,如果条件只是检查当前页面是否显示为单个产品页面。您可以根据需要添加更多条件标记
添加过滤器('wc\u get\u template\u part','so\u 29984159\u custom\u content\u template\u part',10,3)

function so_29984159_custom_content_template_part( $template, $slug, $name ){
        if ( $slug == 'content' && $name == 'single-product')  {

            if( locate_template('content-single-product-custom.php') ) {
                $template = locate_template( $file_name );
            } else {
                // Template not found in theme's folder, use plugin's template as a fallback
                $template = dirname( __FILE__ ) . '/content-single-product-custom.php';
            }

        }
        return $template;
    }

海尔戈,这是解决方案的一部分。谢谢如何重新安排潜水员的鱼钩仍然是个未知数。我在php文件中没有看到任何类型的css。在php文件中不会有任何css。重新排列钩子是通过从一个钩子中移除函数(如上所述)并使用将它们添加到另一个钩子中来完成的。如果您将编辑您的问题以粘贴到Avada主题的
content single product.php
模板中,我可以确认我的代码是否可以删除摘录和sharing.Helga。我很难理解你的意思:“如果你想编辑你的问题粘贴到Avada主题的content-single-product.php模板中,”希望你能解释一下。在Avada主题中找到
content single product.php
文件,复制内容并粘贴到你的问题中。但是你已经接受了这个答案,所以我想它解决了这个问题。如果是这样,就不需要再粘贴任何代码了。
function so_29984159_custom_content_template_part( $template, $slug, $name ){
        if ( $slug == 'content' && $name == 'single-product')  {

            if( locate_template('content-single-product-custom.php') ) {
                $template = locate_template( $file_name );
            } else {
                // Template not found in theme's folder, use plugin's template as a fallback
                $template = dirname( __FILE__ ) . '/content-single-product-custom.php';
            }

        }
        return $template;
    }