web-dev-qa-db-ja.com

Woocommerce:特定のカテゴリでカートに追加するテキストを変更する方法

グローバル商品のカートに入れるテキストを変更しました

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'add_cart_button_replace', 10);

function add_cart_button_replace() {
    global $product;
    $link = $product->get_permalink();
    echo do_shortcode('<a href="'.$link.'" class="button addtocartbutton">+show OFFER</a>');



}

しかし、 here のような特定の商品カテゴリページでは、product-categoryカスタム分類法に free-products という用語があり、add to cartのテキストを+に変更したいです。私カートに入れるリンク付き。

1
Marvin Desoyo

has_term関数を使用して目的の用語を確認できます。

function add_cart_button_replace() {
    global $product;
    $link = $product->get_permalink();

    $button_text = __('+show OFFER', 'woocommerce');

   // check if the current product has a "product-category" of "free-products"
    if(has_term('free-products', 'product_cat', $product->get_id()))
        $button_text = __('+choose me', 'woocommerce');

    echo do_shortcode('<a href="'.$link.'" class="button addtocartbutton">' . $button_text . '</a>');

}

has_term functionについても学ぶことができます。

Update:あなたのコメントに従ってproduct-category分類法をproduct_catに変更してください。

1
Den Isahac