当前位置: 首页 > 面试题库 >

检查客户是否已经在WooCommerce中购买了商品

越狐若
2023-03-14
问题内容

我想创建一个WooCommerce插件,为有购买历史记录的客户添加一些优惠。

如何检查用户之前购买过的东西?

谢谢。


问题答案:

是的,可以 创建一个 条件函数,true客户已经完成至少一个订单 且状态 已完成返回
条件函数

这是此条件函数的代码:

function has_bought() {
    // Get all customer orders
    $customer_orders = get_posts( array(
        'numberposts' => -1,
        'meta_key'    => '_customer_user',
        'meta_value'  => get_current_user_id(),
        'post_type'   => 'shop_order', // WC orders post type
        'post_status' => 'wc-completed' // Only orders with status "completed"
    ) );

    // return "true" when customer has already at least one order (false if not)
   return count($customer_orders) > 0 ? true : false; 
}

此代码已经过测试并且可以工作。

这段代码在您的活动子主题或主题的function.php文件中,或在插件php文件中。

用法 (作为条件)

  • 您可以在 以前复制到活动子主题或主题的 某些 WooCommerce模板 中使用它。
  • 在您的主题php文件中。
  • 在插件php文件中
  • 任何php函数或WordPress / WooCommerce。


 类似资料:
  • 问题内容: 我需要检查客户是否在WooCommerce之前购买了特定产品。 情况是这样的:除非他们较早购买了产品“ a”或“ b”,否则客户将不能购买产品“ c”,“ d”,“ e”。 如果客户较早购买了产品“ a”或“ b”,则激活产品“ c”,“ d”和“ e”的购买按钮,并允许他们购买产品。 如果他们之前没有购买过“ a”或“ b”,则将不允许他们购买“ c”,“ d”,“ e”,并且禁用了

  • 查看已购买的商品 查看已购买的商品 更新时间:2018-02-01 21:18:00 要查看已购买的云市场商品,在“IoT”市场页右上方,点击“已购买”,即可进入。 已购买页,可以支持按照分类筛选购买的商品,并且显示计量的方式,以及已经分配到项目的用量配额。 对于插件商品(包括移动插件和Web插件),如果插件依赖了收费服务,会在“依赖服务”这里展开显示依赖服务的购买详情页和购买状态(已购买/未购买

  • 问题内容: 在woocommerce中,当客户已经购买了当前产品时,我使用wc_customer_bought_product()函数在单个产品页面中显示自定义文本消息。但我想检查购买的产品是否处于“已完成”状态的订单上。 除非满足以下条件,否则不应显示该消息: 1)用户已登录2)用户已经购买了产品3)当前产品的至少一个下订单已设置为完成(我不知道该如何完成)。 这是我的代码: 我尝试添加,但是没

  • 问题内容: 我正在尝试检查用户名是否存在。当我打电话时,快照值始终可用,但是它将打印我的整个数据库,而不仅仅是我请求的数据。当我打电话时,它总是返回null。我尝试了很多方法来解决。 这是我的代码: 这是我的json树: 这是安全规则: 问题答案: 修改 JSON 树以包含一个单独的节点,即在您创建新用户时添加每个用户的用户名,在用户修改其用户名时进行修改… 要检查您的用户名是否已经存在: 通过操

  • 下载(购买)商品 若要使用此机能,可能需先更新系统软件。 进入(PlayStation®Store),可下载(购买)PSP™专用游戏、游戏的追加道具、影像内容等商品。但在(PlayStation®Store)下载(购买)商品前,需先新建PlayStation®Network的账户。 已下载(购买)的商品会保存至以下其中一个位置: - Memory Stick™ - 主机内存   1. 进入主选单的