2017-12-07 20 views
1

私はWooCommerce製品アドオンプラグインを使用してWooCommerceを利用しています。私は単一の製品ページの "カートに追加"ボタンを削除する多くの答えを見てきました。 また、WooCommerce製品のアドオンも削除されます。Woocommerce製品アドオンを削除せずに[カートに追加]ボタンを削除

「カートに追加」ボタンを削除している間に「アドオン」を追加する方法については、誰でも洞察力を提供できますか?ここで

は、私は、「買い物かごに入れる」ボタンを削除しなければならないものであるが、アドオンを同様に削除します。

add_action('woocommerce_single_product_summary', 'remove_add_to_cart_buttons', 1); 

function remove_add_to_cart_buttons() { 
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
} 

答えて

1

WooCommerce製品は、アドオンはすべてのアドオンを表示するwoocommerce_before_add_to_cart_buttonアクションフックを必要としますフィールドとデータ。

したがって、以下のコードでは、単純な変更可能な製品で、カートへの追加と数量フィールドの削除だけで製品アドオンフィールドとデータを表示できるようになります。

add_action('woocommerce_single_product_summary', 'remove_add_to_cart_buttons', 1); 
function remove_add_to_cart_buttons() { 
    global $product; 

    // For simple product types 
    if($product->is_type('simple')) { 
     remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
     add_action('woocommerce_single_product_summary', 'custom_before_single_add_to_cart', 30); 
    } 
    // For variable product types (keeping attribute select fields) 
    elseif($product->is_type('variable')) { 
     remove_action('woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20); 
    } 
} 
function custom_before_single_add_to_cart(){ 
    global $product; 

    if (! $product->is_purchasable()) return; 

    // Simple Products 
    if ($product->is_in_stock()) { 
     do_action('woocommerce_before_add_to_cart_form'); // (Optional) 

     echo '<form class="cart" method="post" enctype="multipart/form-data">'; // (Optiona 

      ## @since 2.1.0. 
      do_action('woocommerce_before_add_to_cart_button'); // <== NEEDED by Add-ons 

      ## @since 3.0.0. 
      do_action('woocommerce_before_add_to_cart_quantity'); // Optional 

      ## @since 3.0.0. 
      do_action('woocommerce_after_add_to_cart_quantity'); // Optional 

      ## @since 2.1.0. 
      do_action('woocommerce_after_add_to_cart_button'); // Optional 

     echo '</form>'; // Optional 

     do_action('woocommerce_after_add_to_cart_form'); // Optional 
    } 
} 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルやも任意のプラグインファイルになります。

テスト済みで動作します。

カートに追加]ボタンが削除されたとして、あなたは

+0

ありがとうアドオンデータを提出することはできません!これはまさに私が探していたものでした。すべての助けをありがとう! –

関連する問題