woocommerce_store_api_add_to_cart_data хук-фильтрWC 8.8.0

Filters cart item data sent via the API before it is passed to the cart controller.

This hook filters cart items. It allows the request data to be changed, for example, quantity, or supplemental cart item data, before it is passed into CartController::add_to_cart and stored to session.

CartController::add_to_cart only expects the keys id, quantity, variation, and cart_item_data, so other values may be ignored. CartController::add_to_cart (and core) do already have a filter hook called woocommerce_add_cart_item, but this does not have access to the original Store API request like this hook does.

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

add_filter( 'woocommerce_store_api_add_to_cart_data', 'wp_kama_woocommerce_store_api_add_to_cart_data_filter', 10, 2 );

/**
 * Function for `woocommerce_store_api_add_to_cart_data` filter-hook.
 * 
 * @param array $add_to_cart_data An array of cart item data.
 * @param       $request          
 *
 * @return array
 */
function wp_kama_woocommerce_store_api_add_to_cart_data_filter( $add_to_cart_data, $request ){

	// filter...
	return $add_to_cart_data;
}
$add_to_cart_data(массив)
An array of cart item data.
$request
-

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

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

Где вызывается хук

CartAddItem::get_route_post_response()
woocommerce_store_api_add_to_cart_data
woocommerce/src/StoreApi/Routes/V1/CartAddItem.php 109-118
$add_to_cart_data = apply_filters(
	'woocommerce_store_api_add_to_cart_data',
	array(
		'id'             => $request['id'],
		'quantity'       => $request['quantity'],
		'variation'      => $request['variation'],
		'cart_item_data' => [],
	),
	$request
);

Где используется хук в WooCommerce

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