在Woocommerce中为特定产品类别添加自定义按钮

时间:2018-01-27 02:28:31

标签: php wordpress woocommerce categories product

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

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>';
   }
}

对这里的错误有什么看法?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你的问题不是很清楚。

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()

答案 2 :(得分:0)

以下代码将按钮添加到产品类别归档文件的循环之前

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>';
    }
}