如何在WooCommerce上批量生成/授予下载权限?

时间:2016-04-05 06:18:06

标签: php mysql wordpress woocommerce

我处于某种情况。我有一个可下载的产品,目前有超过3500名客户购买它。在更新可下载产品时,显然我搞砸了一些如何删除对当前3500+客户端的访问,从而导致许多混乱的电子邮件。客户仍然可以在购买帐户时购买数字产品。

所以这让我拼命地问,如何向已购买我的可下载产品的客户批量生成/授予WooCommerce下载权限?

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

3 个答案:

答案 0 :(得分: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 );
}}

答案 1 :(得分:0)

@Tyree B.希望你已经解决了这个问题,如果是,那么请在这里分享,你可以按照以下解决方案:

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

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

  3. 希望它会对你有所帮助。

答案 2 :(得分:0)

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