首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于条件的商业产品的灰色变化?

基于条件的商业产品的灰色变化?
EN

Stack Overflow用户
提问于 2017-03-07 14:20:34
回答 1查看 799关注 0票数 2

我有一家定制的WooCommerce商店,在那里我希望能够根据条件对特定的产品变体进行灰色化,但我不知道在代码中哪里可以这样做。

  • 我每件商品有两种价格,一种是会员价格,一种是零售价格。
  • 我希望每个人都能看到每一个变化,但不能选择一个是他们无法使用的,这样非会员可以看到零售价格,但不能选择,反之亦然。
  • 我想要的另一个定制是:我只想让会员每月以会员价格购买5种产品,然后将其转换为零售价格,因此我需要能够根据一定的条件为成员分配会员价格。

有人能向我指出文件/钩子/动作,在那里我可以注入一些自定义代码到变体输出,这样我就可以做到这一点?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-07 23:44:05

对于您的两个问题,您可以以不同的方式使用woocommerce_add_to_cart_validation过滤器钩子。在基于用户角色和现有函数参数的某些条件下,客户将能够选择产品的变体,但如果不允许客户将其添加到cart中,则无法进行选择。当客户在不允许…时尝试添加某些内容时,甚至可以显示通知

代码语言:javascript
复制
add_filter( 'woocommerce_add_to_cart_validation', 'custom_add_to_cart_validation', 10, 5 );
function custom_add_to_cart_validation( $passed, $product_id, $quantity, $variation_id, $variations ) {

    // Your code goes here

    // If $passed is set to "false", the product is not added
    // $passed = false;

    return $passed;
}

对于最后一个问题,您需要按月为成员设置/更新有关5种产品的一些自定义用户元数据,每次他们下订单。为此,可以使用woocommerce_thankyouwoocommerce_order_status_completed动作挂钩来设置用户元数据中的自定义数据。然后,您将能够检查该数据,启用或禁用woocommerce_add_to_cart_validation过滤器钩子中正确的产品变体。

最后,如果您真的想对某些变体进行灰色化,您将不得不使用Javascript/jQuery,但这将是相当困难的,因为产品变体上已经有很多javascript/Ajax WooCommerce事件,这将与您的版本发生冲突。但是在WooCommerce,一切都是可能的,取决于时间和技能,…

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42650679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档