2 домена mydomain.com
и subdomain.mydomain.com
могут передавать только файлы cookie, если домен явно указан в заголовке Set-Cookie
. В противном случае объем файла cookie ограничивается узлом запроса. (Это называется «cookie только для хоста». См. Что такое cookie только для хоста? )
Например, если вы отправили следующий заголовок из subdomain.mydomain.com
:
Set-Cookie: name=value
Тогда cookie не будет отправлен для запросов к mydomain.com
. Однако, если вы используете следующее, он будет использоваться в обоих доменах:
Set-Cookie: name=value; domain=mydomain.com
В RFC 2109 домен без ведущей точки означает, что он не может использоваться на субдомены и только ведущая точка (.mydomain.com
) позволили бы использовать ее в нескольких поддоменах (но не в домене верхнего уровня, поэтому то, что вы просили, было невозможно в более старой спецификации).
Тем не менее, все современные браузеры уважают новую спецификацию RFC 6265 и будут игнорировать любую ведущую точку, то есть вы можете использовать файл cookie на субдоменах, а также на домен верхнего уровня.
Таким образом, если вы установите cookie как второй пример выше из mydomain.com
, он будет доступен subdomain.mydomain.com
и наоборот.
См. Также:
Вот фрагмент, который вам нужно использовать. Используя woocommerce_package_rates
фильтр-крючок, вы можете условно установить или отключить способы доставки
add_filter( 'woocommerce_package_rates', 'custom_package_rates', 10, 2 );
function custom_package_rates( $rates, $package ) {
$total = WC()->cart->cart_contents_total;
if( 300 <= $total ) {
unset( $rates['flat_rate'] );
unset( $rates['free_shipping'] );
} elseif ( 301 >= $total && 1000 <= $total ) {
unset( $rates['local_delivery'] );
unset( $rates['free_shipping'] );
}
// etc add the remaining condition
return $rates;
}
$package->contents_cost
вместоWC()->cart->cart_contents_total
– Vyacheslav Gostyukhin 7 December 2016 в 21:31