Woocommerceの製品詳細ページで「数量」フィールド(カートに追加する前に数量を入力する)を非表示にし、「カートに追加」ボタンのみを表示する必要があります。カートに入れます。その理由は、重力フォームに基づいて数量を収集するためです。
最も安全な方法は、WordPress=組み込みフックまたはフィルターを使用することです
/**
* @desc Remove in all product type
*/
function wc_remove_all_quantity_fields( $return, $product ) {
return true;
}
add_filter( 'woocommerce_is_sold_individually', 'wc_remove_all_quantity_fields', 10, 2 );
他の製品タイプの数量セレクターを削除することもできます。詳細はこちらをご覧ください http://www.sutanaryan.com/how-to-remove-product-quantity-selectors-woocommerce/
注意してください:このオプションを効果的に使用すると、ショッピングカートに商品を複数回入れることができなくなります。その後、[カートに追加]をクリックすると、この製品をカートに入れることができるのは1回だけであるという警告が表示されます。これは誰にとっても望ましくないかもしれません。
.quantity, .product-quantity{display:none;}
あなたのために働くかもしれない数量セレクターを削除する無料のプラグインがあります。 http://wordpress.org/extend/plugins/woocommerce-remove-quantity-fields/
プラグインは必要ありません。たとえば、cssを使用して非表示にできます。ただし、woocommerceを使用すると、1つの商品のみを販売でき、同じ商品をカートに追加する選択肢はありません。 woocommerce-> settingsを見てください。それがすべてです。
製品の単一ページでそれを行う簡単な方法を見つけ、数量カウンターをカートに入れたままにしました。 functions.phpに次のコードを入れるだけです
add_action( 'wp_head', 'quantity_wp_head' );
function quantity_wp_head() {
if ( is_product() ) {
?>
<style type="text/css">.quantity, .buttons_added { width:0; height:0; display: none; visibility: hidden; }</style>
<?php }
}
Woocommerceのドキュメントはこちらで確認できます。 http://docs.woothemes.com/document/remov-product-content-based-on-category/
この質問に対する他の回答では処理されないエッジケースがあります、woocommerceの「個別に販売」オプションは効果的に数量入力を削除しますが、同じ製品がカートに複数回追加されるのを防ぎます
数量を編集したくないが、ユーザーが異なる属性で同じ製品をカートに追加できるようにするカスタム属性を持つ製品があるユースケースでは、「個別に販売」オプションは機能しません
この場合に必要なのはこのフィルターです
add_filter( 'woocommerce_cart_item_quantity', function ( $qty, $item_key, $item ) {
if ( ! empty( $item['custom_data'] ) ) { //Here check for your custom attribute
return sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $item_key );
}
return $qty;
}, 10, 3 );
編集する必要があるテンプレートはsingle-product/add-to-cart/variation-add-to-cart-button.php
。
したがって、このテンプレートを独自のテーマにコピーして編集し、数量フィールドを削除するだけです。次のようになります。
<?php
/**
* Single variation cart button
*
* @see http://docs.woothemes.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.5.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $product;
?>
<div class="woocommerce-variation-add-to-cart variations_button">
<button type="submit" class="single_add_to_cart_button button alt"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
<input type="hidden" name="add-to-cart" value="<?php echo absint( $product->id ); ?>" />
<input type="hidden" name="product_id" value="<?php echo absint( $product->id ); ?>" />
<input type="hidden" name="variation_id" class="variation_id" value="0" />
</div>