WC_Product_Data_Store_CPT::update_downloads()protectedWC 3.0.0

Update downloads.

Метод класса: WC_Product_Data_Store_CPT{}

Возвращает

true|false. If updated or not.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->update_downloads( $product, $force );
$product(WC_Product) (обязательный) (передается по ссылке — &)
Product object.
$force(true|false)
Force update. Used during create.
По умолчанию: false

Список изменений

С версии 3.0.0 Введена.

Код WC_Product_Data_Store_CPT::update_downloads() WC 8.7.0

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;
}