根据Woocommerce父产品类别更改“添加到购物车”按钮文本

时间:2018-06-15 05:50:00

标签: php wordpress woocommerce product custom-taxonomy

我正在使用以下代码根据其父类别更改Woo产品添加到购物车按钮的措辞。

代码有效,但有以下错误。如果其中一个父类别为空(即没有任何子猫),则代码不再有效。

所以当前代码必须缺少一个字符串来检查父类别是否为空,但我不知道如何编码。

这是我正在运行的代码段:

// Utility function to get the childs array from all parent categories
function get_the_childs( $product_category ){
    $taxonomy = 'product_cat';
    $parent   = get_term_by( 'slug', sanitize_title( $product_category ), $taxonomy );
    return get_term_children( $parent->term_id, $taxonomy );
}

// Changing the add to cart button text for product based on parent category
add_filter( 'woocommerce_product_single_add_to_cart_text', 'product_cat_single_add_to_cart_button_text', 20, 1 );
function product_cat_single_add_to_cart_button_text( $text ) {
    global $product;
    if( has_term( get_the_childs('reds'), 'product_cat', $product->get_id() ) )
        $text = __( 'Buy Red', 'woocommerce' );
    elseif( has_term( get_the_childs('yellow'), 'product_cat', $product->get_id() ) )
        $text = __( 'Buy Yellow', 'woocommerce' );
    elseif( has_term( get_the_childs('green'), 'product_cat', $product->get_id() ) )
        $text = __( 'Buy Green', 'woocommerce' );
    elseif( has_term( get_the_childs('blue'), 'product_cat', $product->get_id() ) )
        $text = __( 'Buy Blue', 'woocommerce' );

    return $text;
}

0 个答案:

没有答案