WC_Product_Data_Store_CPT::update_downloads( WC_Product $product, bool $force = false )
Update downloads.
Description Description
Parameters Parameters
- $product
-
(Required) Product object.
- $force
-
(Optional) Force update. Used during create.
Default value: false
Return Return
(bool) If updated or not.
Source Source
File: includes/data-stores/class-wc-product-data-store-cpt.php
protected function update_downloads( &$product, $force = false ) {
$changes = $product->get_changes();
if ( $force || array_key_exists( 'downloads', $changes ) ) {
$downloads = $product->get_downloads();
$meta_values = array();
if ( $downloads ) {
foreach ( $downloads as $key => $download ) {
// Store in format WC uses in meta.
$meta_values[ $key ] = $download->get_data();
}
}
if ( $product->is_type( 'variation' ) ) {
do_action( 'woocommerce_process_product_file_download_paths', $product->get_parent_id(), $product->get_id(), $downloads );
} else {
do_action( 'woocommerce_process_product_file_download_paths', $product->get_id(), 0, $downloads );
}
return $this->update_or_delete_post_meta( $product, '_downloadable_files', wp_slash( $meta_values ) );
}
return false;
}
Changelog Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |