WC_Cart_Session::set_cart_cookies()privateWC 1.0

Set cart hash cookie and items in cart if not already set.

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

Хуки из метода

Возвращает

null. Ничего (null).

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

// private - только в коде основоного (родительского) класса
$result = $this->set_cart_cookies( $set );
$set(true|false)
Should cookies be set (true) or unset.
По умолчанию: true

Код WC_Cart_Session::set_cart_cookies() WC 9.4.2

private function set_cart_cookies( $set = true ) {
	if ( $set ) {
		$setcookies = array(
			'woocommerce_items_in_cart' => '1',
			'woocommerce_cart_hash'     => WC()->cart->get_cart_hash(),
		);
		foreach ( $setcookies as $name => $value ) {
			if ( ! isset( $_COOKIE[ $name ] ) || $_COOKIE[ $name ] !== $value ) {
				wc_setcookie( $name, $value );
				$_COOKIE[ $name ] = $value;
			}
		}
	} else {
		$unsetcookies = array(
			'woocommerce_items_in_cart',
			'woocommerce_cart_hash',
		);
		foreach ( $unsetcookies as $name ) {
			if ( isset( $_COOKIE[ $name ] ) ) {
				wc_setcookie( $name, 0, time() - HOUR_IN_SECONDS );
				unset( $_COOKIE[ $name ] );
			}
		}
	}

	do_action( 'woocommerce_set_cart_cookies', $set );
}