Php 如何批量生成/授予WooCommerce的下载权限?
我正处于这样的境地。我有一个可下载的产品,到目前为止已有3500多个客户购买。在更新可下载的产品时,显然我搞砸了,并且删除了对当前3500+客户端的访问,导致许多混乱的电子邮件。客户在其帐户购买中仍然显示为购买了数字产品 因此,我不顾一切地问,我如何批量生成/向已经购买了我的可下载产品的客户授予WooCommerce的下载权限Php 如何批量生成/授予WooCommerce的下载权限?,php,mysql,wordpress,woocommerce,Php,Mysql,Wordpress,Woocommerce,我正处于这样的境地。我有一个可下载的产品,到目前为止已有3500多个客户购买。在更新可下载的产品时,显然我搞砸了,并且删除了对当前3500+客户端的访问,导致许多混乱的电子邮件。客户在其帐户购买中仍然显示为购买了数字产品 因此,我不顾一切地问,我如何批量生成/向已经购买了我的可下载产品的客户授予WooCommerce的下载权限 我正在考虑一个SQL查询,但不确定我需要移动什么以及移动到哪里?更困难的是,我只需要向特定产品的客户授予权限 @Tyree B.希望您已解决此问题,如果是,请在此处共享,
我正在考虑一个SQL查询,但不确定我需要移动什么以及移动到哪里?更困难的是,我只需要向特定产品的客户授予权限 @Tyree B.希望您已解决此问题,如果是,请在此处共享,否则您可以按照以下解决方案进行操作:
希望能对您有所帮助。我想出了以下解决方案。您可以将此代码放到
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 );
}}
Woocommerce()有一个插件增强程序,它有一个“重新生成批量权限下载”选项,您可以定期手动激活我们的插件不完全确定表、列或代码,但如果您拥有或可以收集订单id数组,则可能会很有用。@Ekin非常感谢您的回复。我有订单号。但是,我应该将ID放在代码中的什么位置?我应该把产品ID放在哪里?它能用吗?我启用了functions.php,但仍然没有看到任何效果!是的,它对我有用。这里是文档的链接。重要的是,您应该拥有所有现有的可供下载的文件。