Woocommerce add_filter 在特定时间隐藏统一费率方法并且无法 var_dump 变量
Woocommerce add_filter to hide a flat rate method at certain times and not able to var_dump variable
这里 Woocommerce/wordpress 是全新的。在购物车页面 mydomain.local/cart
我应该使用什么过滤器来 show/hide 在某些时候采用固定费率的运输方式。从管理员我设法添加了一个额外的固定费率方法并将其命名为 "Next day"。现在我只想在下午 4 点之前展示统一费率方法。我试过 functions.php
add_filter( 'woocommerce_package_rates', 'custom_change_shipping', 10);
function custom_change_shipping($rates) {
var_dump($rates);
}
似乎没有任何变化,而且我似乎无法调试 $rates
变量,因为 var_dump($rates);
时没有任何输出。我以匿名和管理员身份尝试过,但似乎没有任何效果。
感谢@LoicTheAztec 确认我是否使用了正确的过滤器。我的另一个问题是我无法在 /cart
页面上输出 var_dump
。
我发现我需要通过 woocommerce->settings->shipping 清除我的 "cart cache" 并在该地区禁用然后再次启用并单击保存更改。
通过这样做,我可以看到 var_dump
.
的输出
@LoicTheAztec 之前发布的过滤器(应@robert 的要求)
add_filter( 'woocommerce_package_rates', 'custom_hide_shipping', 100 );
function custom_hide_shipping( $rates ) {
$current_time = date_i18n(('H'), current_time('timestamp')); //Uses Timezone Settings > General
$maximum_time = array (
'time' =>'16'); //4PM
if ($current_time >= $maximum['time']){
unset( $rates['flat_rate:X'] ); // change X to your rate id
}
return $rates;
}
这里 Woocommerce/wordpress 是全新的。在购物车页面 mydomain.local/cart
我应该使用什么过滤器来 show/hide 在某些时候采用固定费率的运输方式。从管理员我设法添加了一个额外的固定费率方法并将其命名为 "Next day"。现在我只想在下午 4 点之前展示统一费率方法。我试过 functions.php
add_filter( 'woocommerce_package_rates', 'custom_change_shipping', 10);
function custom_change_shipping($rates) {
var_dump($rates);
}
似乎没有任何变化,而且我似乎无法调试 $rates
变量,因为 var_dump($rates);
时没有任何输出。我以匿名和管理员身份尝试过,但似乎没有任何效果。
感谢@LoicTheAztec 确认我是否使用了正确的过滤器。我的另一个问题是我无法在 /cart
页面上输出 var_dump
。
我发现我需要通过 woocommerce->settings->shipping 清除我的 "cart cache" 并在该地区禁用然后再次启用并单击保存更改。
通过这样做,我可以看到 var_dump
.
@LoicTheAztec 之前发布的过滤器(应@robert 的要求)
add_filter( 'woocommerce_package_rates', 'custom_hide_shipping', 100 );
function custom_hide_shipping( $rates ) {
$current_time = date_i18n(('H'), current_time('timestamp')); //Uses Timezone Settings > General
$maximum_time = array (
'time' =>'16'); //4PM
if ($current_time >= $maximum['time']){
unset( $rates['flat_rate:X'] ); // change X to your rate id
}
return $rates;
}