Woocommerce有条件产品标签

时间:2014-02-26 06:52:29

标签: php wordpress woocommerce

好的,我正在尝试显示某些标签内容,具体取决于列出产品的类别。

我创建了一个自定义的“尺寸表”标签,并想要显示例如:

  • 产品处于“鞋类”类别时的鞋类尺寸表
  • 产品处于“服装”类别时的服装尺码表
  • 产品处于“附件”类别时没有尺寸表。

我已经创建了一个这样的自定义标签:

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );

function woo_rename_tabs( $tabs ) {

    $tabs['new_tab'] = array(
    'title'     => __( 'Size Chart', 'woocommerce' ),
    'priority'  => 55,
    'callback'  => 'woo_tab_content'
);

return $tabs;

}

然后添加了这样的自定义标签内容:

function woo_tab_content() {

    echo 'This is the size chart';

}

有没有人知道如何在此代码中添加条件语句,以便根据产品的类别来指定显示的内容,即

is_product_category( 'footwear' )

谢谢!

2 个答案:

答案 0 :(得分:0)

在你的woo_tab_content函数中简单添加你上面所做的事情,所以它想这样:

function woo_tab_content() {

    if (is_product_category( 'footwear' )){

        echo 'This is the size chart';

    } else {

        //do something else

    }

}

答案 1 :(得分:0)

好的,我设法使用以下代码修复它:

function woo_tab_content() {

global $post;
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;

if ( in_array( 'clothing', $categories ) ) {

    echo 'this is the clothing tab content!';

} elseif ( in_array( 'shoes', $categories ) ) {

    echo 'this is the shoes tab content!';

} else {
    echo 'all other tabs';
}

}

事实证明,is_product_category对单个产品页面不起作用。仅适用于类别页面本身。