【问题标题】:Add a custom button for a specific product category in Woocommerce在 Woocommerce 中为特定产品类别添加自定义按钮
【发布时间】:2023-04-08 16:25:01
【问题描述】:

我想在特定产品类别的描述下方显示一个附加按钮:“手镯” 所以我开发了一段代码,但不起作用:

add_action( 'woocommerce_single_product_summary', 'my_extra_button_on_product_page', 30 );

function my_extra_button_on_product_page() {
   if ( is_product_category('bracelets')) {
     global $product;
     echo '<a href="www.test.com">Extra Button</a>';
   }
}

知道这里出了什么问题吗?

【问题讨论】:

  • 欢迎来到 SO,您尝试过什么来达到您想要的结果?你对你的问题的研究表明了什么?

标签: php wordpress woocommerce categories product


【解决方案1】:
add_action( 'woocommerce_after_single_product_summary', 'my_extra_button_on_product_page', 30 );

【讨论】:

  • 你好,还是不行。当我删除条件时,它会起作用。条件下如何触发php脚本?
【解决方案2】:

你的问题不是很清楚。

1) 如果您想在该产品类别描述下方的产品类别存档页面上显示特定产品类别的自定义按钮,您将使用:

add_action( 'woocommerce_archive_description', 'extra_button_on_product_category_archives', 20 );
function extra_button_on_product_category_archives() {
    if ( is_product_category('bracelets') ) {
        echo '<a class="button" href="www.test.com">Extra Button</a>';
    }
}

2) 如果您想在单个产品页面中为特定产品类别在此产品的简短描述下方显示自定义按钮,您将使用:

add_action( 'woocommerce_single_product_summary', 'extra_button_on_product_page', 22 );
function extra_button_on_product_page() {
    global $post, $product;
    if ( has_term( 'bracelets', 'product_cat' ) ) {
        echo '<a class="button" href="www.test.com">Extra Button</a>';
    }
}

3) 如果您想在该产品的描述(在产品选项卡中)下方的特定产品类别的单个产品页面中显示自定义按钮,您将使用:

add_filter( 'the_content', 'add_button_to_product_content', 20, 1 );
function add_button_to_product_content( $content ) {
    global $post;

    if ( is_product() && has_term( 'bracelets', 'product_cat' ) )
        $content .= '<a class="button" href="www.test.com">Extra Button</a>';

    // Returns the content.
    return $content;
}

4) 如果您想在产品标签下方的特定产品类别的单个产品页面中显示自定义按钮,您将使用:

add_action( 'woocommerce_after_single_product_summary', 'extra_button_on_product_page', 12 );
function extra_button_on_product_page() {
    global $post, $product;
    if ( has_term( 'bracelets', 'product_cat' ) ) {
        echo '<a class="button" href="www.test.com">Extra Button</a>';
    }
}

代码进入您的活动子主题(或活动主题)的 function.php 文件中。

经过测试并且有效。

对于产品类别档案页面,请使用is_product_category()
对于所有其他情况has_term()

【讨论】:

    【解决方案3】:

    以下代码在产品类别存档的循环之前添加按钮

    add_action( 'woocommerce_archive_description', 'extra_button_on_product_category_archives', 20 );
    function extra_button_on_product_category_archives() {
        if ( is_product_category('bracelets') ) {
            echo '<a class="button" href="www.test.com">Extra Button</a>';
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 1970-01-01
      • 2019-12-13
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多