Подтвердить что ты не робот

Как отключить поле количества на странице сведений о продукте в woocommerce?

Мне нужно скрыть поле "количество" (где вводится количество до добавления в корзину) в Woocommerce на странице сведений о продукте и показывать только кнопку "добавить в корзину", которая затем помещала бы количество 1 в корзине. Причина в том, что я собираю количество, основанное на формах гравитации.

4b9b3361

Ответ 1

  • Отредактируйте свой продукт.
  • Нажмите "Инвентарь".
  • Установите флажок "Продано индивидуально"

Ответ 2

Самый безопасный способ - использовать встроенный крючок 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/

Пожалуйста, будьте осторожны:, используя эту опцию, делает невозможным получение продукта более одного раза в вашей корзине покупок. Затем нажмите "Добавить в корзину", чтобы предупредить, что этот продукт может быть только в вашей корзине один раз. Это может быть нежелательно для всех.

Ответ 3

enter image description here

Нет необходимости использовать плагин или редактировать файл function.php, просто отметьте опцию, показанную на рисунке выше.

Ответ 5

.quantity, .product-quantity{display:none;}

Ответ 6

Плагин не нужен, например, вы можете скрыть его с помощью css. Но woocommerce позволяет вам продавать только 1 продукт, без выбора, чтобы добавить больше одного и того же товара в корзину. Посмотрите настройки woocommerce- > . Это все.

Ответ 7

Я нашел простой способ сделать это только на одной странице продукта и сохранить счетчик количества в корзине. Просто поместите следующий код в 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/

Ответ 8

Работала лучше для меня: -

Отредактируйте продукт.

Нажмите "Инвентарь".

Установите флажок "Продано индивидуально"

Проделанная работа, простая и быстрая!

Ответ 9

Шаблон, который вам нужно изменить, 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>

Ответ 10

Существует крайний случай, который не обрабатывается другими ответами на этот вопрос, опция 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 );

Ответ 11

add_filter( 'woocommerce_is_sold_individually', 'baztro_wc_remove_all_quantity_fields', 10, 2 );
function baztro_wc_remove_all_quantity_fields( $return, $product ) {
switch ( $product->product_type ) :
case "variable":
return true;
break;
case "grouped":
return true;
break;
case "external":
return true;
break;
default: // simple product type
return true;
break;
endswitch;
}

Я предпочитаю вариант инвентаризации - лучший способ сделать это, и некоторые методы здесь http://www.baztro.com/hide-quantity-input-field-from-product-page-woocommerce/

Ответ 12

Это очень просто, в woocommerce\includes\abstracts\abstract-wc-product.php найти файл abstract-wc-product.php в woocommerce

Найдите ниже код на странице

$availability = sprintf( __( '%s in stock', 'woocommerce' ), $this->get_total_stock() );

замените этот код на

$availability = sprintf( __( '%s in stock', 'woocommerce' ),'');