【问题标题】:How do I bulk generate/grant download permissions on WooCommerce?如何在 WooCommerce 上批量生成/授予下载权限?
【发布时间】:2016-07-24 22:21:10
【问题描述】:

我有一种情况。我有一个可下载的产品,到目前为止有超过 3500 名客户购买它。在更新可下载产品时,显然我搞砸了,并且有些人如何删除了对当前 3500 多个客户的访问权限,从而导致许多混乱的电子邮件。客户在其帐户购买中仍显示为购买数字产品。

这让我急切地问,我如何在 WooCommerce 上批量生成/授予已经购买我可下载产品的客户的下载权限?

我正在考虑一个 SQL 查询,但不确定我需要移动什么以及移动到哪里?更难的是我只需要授予特定产品的客户的权限!

【问题讨论】:

  • 不确定表格、列或代码,但如果您拥有或可以收集订单 ID 数组,this 可能会很有用。
  • @Ekin 非常感谢您的回复。我确实有订单ID。但是,我会在哪里将 ID 放在代码中?我还应该在哪里放置产品 ID?

标签: php mysql wordpress woocommerce


【解决方案1】:

我想出了以下解决方案。您可以将此代码放置到functions.php,在后端或前端打开任何页面(运行functions.php),然后评论或删除此代码。不影响已有下载权限的订单。

add_action('init','my_activate_download_permissions');
function my_activate_download_permissions() {

$orders = get_posts( array(
    'post_type'      => 'shop_order',
    'post_status'    => 'wc-completed',
    'posts_per_page' => -1
) );

foreach ( $orders as $order ) {
    wc_downloadable_product_permissions( $order->ID, false );
}}

【讨论】:

  • 有效吗?我装上了functions.php,但还是看不到任何效果!
  • 是的,它对我有用。这是文档docs.woocommerce.com/wc-apidocs/… 的链接,重要的是您应该拥有所有文件并可供下载。
【解决方案2】:

@Tyree B. 希望您已经解决了问题,如果是,请在此处分享,否则您可以按照以下解决方案:

  1. 遍历所有用户并获取他们的订单(订单号)并使用 wc_add_order_item woocommerce 功能在现有订单中添加新的可下载产品(您还需要添加产品元数据,如数量、产品 ID 等。 )

  2. 遍历所有客户并为每个客户创建一个新订单(使用代码的礼品订单)并将产品添加到订单中。根据 woocommerce 规则/功能,所有用户都可以自动从下载链接下的我的帐户下载产品。

希望对你有所帮助。

【讨论】:

    【解决方案3】:

    有一个用于 Woocommerce (https://booster.io/features/woocommerce-orders/) 的插件 Booster 具有“重新生成批量权限下载”选项,您可以定期手动激活我们的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多