从WooCommerce中的产品和购物车页面获取产品的最大数量

时间:2019-05-25 00:43:33

标签: woocommerce

我使用以下方法来更改购物车页面的最小产品数量:

add_filter( 'woocommerce_quantity_input_args', 'custom_cart_min_qty', 10, 2 );
function custom_cart_min_qty( $args, $product ) {
    $args['min_value'] = 1;
    return $args;
}

这一次而不是更改最小值,我想在产品和购物车页面读取最大值(我了解的所有购物车产品都有一个循环)然后使用此信息来决定是否显示字段的数量增加按钮。当最大数量为1(即使最小= 0)或最小数量=最大数量时,我不想显示它们。

LoicTheAztec提到的最小值和最大值相等会隐藏输入字段,这是一个非常有价值的信息,对我来说使事情变得更加复杂,我为此创建了一个单独的问题:

question

我可以编写jQuery脚本来完成这项工作,但是我需要PHP解决方案以避免页面加载闪存。

在我使用WooCommerce挂钩插入这些按钮之后,产品和购物车页面上带有数量按钮的输入字段具有以下HTML结构:

<div id="qib-container">
    <button type="button" class="minus qib-button">-</button>
    <div class="quantity">
        <label class="screen-reader-text" for="quantity_5ce95c090e36b">Product name</label>
        <input type="number" id="quantity_5ce95c090e36b" class="input-text qty text" step="1" min="1" max="120" name="quantity" value="1" title="Qty" size="4" inputmode="numeric">
    </div>
    <button type="button" class="plus qib-button">+</button>
</div>

很抱歉造成混乱,请告知我是否需要其他信息。

1 个答案:

答案 0 :(得分:1)

  

注意:如果 create type mention_info as (id integer, username varchar(64), firebase_id varchar(64)); create or replace function notif() returns trigger as $$ declare mentions mention_info[]; m mention_info; begin select array_agg(tmp) into mentions from (select id, username, firebase_id from users where username=any(parse_tokens(new.body, '@'))) tmp; perform pg_notify('status', mentions::text); foreach m in array mentions loop insert into mentions (status_id, from_user_id, to_user_id) values (new.id, new.user_id, m.id); end loop; return new; end; $$ language plpgsql; 等于 min_value,则WooCommerce数量输入字段被隐藏

读取产品数量max_value并检查其是否等于或等于max_value (从产品和购物车页面隐藏数量字段) ,您将使用以下内容:

1

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。