我管理着一家商店,商店里有很多可下载的产品,店主想尝试设置更高的下载限制(可能会被取消)。手动逐一进行编辑是不切实际的。我编写了一个循环浏览和更改下载限制的功能,该功能在可下载产品上非常有用,但是在更新可变产品的可下载版本时遇到了麻烦。
如何设置产品可下载版本的下载限制?
当我检查$ variation对象时,那里没有下载限制(无论如何都无法设置,会触发错误)。但是,当我在设置$ product后获得$ product的下载限制时,它似乎已经起作用(返回正确的数字),但是当我进入WP Admin时,变化的限制没有改变。
function redoLimits() {
global $woocommerce, $product, $post;
$products = wc_get_products( array( 'status' => 'publish', 'limit' => -1 ) );
foreach ($products as $product) {
if ($product->is_downloadable('yes')) {
$product->set_download_limit(20);
$product->save();
} else if ( $product->is_type( 'variable' ) ) {
$variations = $product->get_available_variations();
foreach ( $variations as $variation ){
if ($variation["is_downloadable"]) {
$product->set_download_limit(20);
$product->save();
}
}
}
}
};