WC_REST_Legacy_Products_Controller::update_post_meta_fields()protectedWC 1.0

Update post meta fields.

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

Хуков нет.

Возвращает

true|false|WP_Error.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->update_post_meta_fields( $post, $request );
$post(WP_Post) (обязательный)
Post data.
$request(WP_REST_Request) (обязательный)
Request data.

Код WC_REST_Legacy_Products_Controller::update_post_meta_fields() WC 8.7.0

protected function update_post_meta_fields( $post, $request ) {
	$product = wc_get_product( $post );

	// Check for featured/gallery images, upload it and set it.
	if ( isset( $request['images'] ) ) {
		$product = $this->set_product_images( $product, $request['images'] );
	}

	// Save product meta fields.
	$product = $this->set_product_meta( $product, $request );

	// Save the product data.
	$product->save();

	// Save variations.
	if ( $product->is_type( 'variable' ) ) {
		if ( isset( $request['variations'] ) && is_array( $request['variations'] ) ) {
			$this->save_variations_data( $product, $request );
		}
	}

	// Clear caches here so in sync with any new variations/children.
	wc_delete_product_transients( $product->get_id() );
	wp_cache_delete( 'product-' . $product->get_id(), 'products' );

	return true;
}