在wocommerce Sweden中使用以下脚本将从购物车和结帐中删除
function woo_remove_specific_country( $country )
{
unset($country["SE"]);
return $country;
}
add_filter( 'woocommerce_countries', 'woo_remove_specific_country', 10, 1 );
在计算运费时,如何才能看到它仅在购物车中可见,而在“结帐”页面中却不可见?
亲切的问候, 马丁
if ( is_checkout() ) {
function woo_remove_specific_country( $country )
{
unset($country["SE"]);
return $country;
}
add_filter( 'woocommerce_countries', 'woo_remove_specific_country', 10, 1 );
}
在结帐时什么也没做?
也会发生以下情况:
function woo_remove_specific_country( $country ) {
if ( is_checkout() ) {
unset($country["SE"]);
}
return $country;
}
add_filter( 'woocommerce_countries', 'woo_remove_specific_country', 10, 1 );
答案 0 :(得分:0)
这是未经测试的,因为我从未使用过woo Commerce-它只是作为建议而提供...希望这是您可以使用的挂钩。
每当国家/地区出现在页面上时,就会调用您的add_filter('woocommerce_countres')
。因此,您需要在定位方面更加具体。
// Your code to remove the country
function woo_remove_specific_country( $country ) {
if ( is_checkout() ) {
unset($country["SE"]);
}
return $country;
}
// Call the filter function that you already developed... but don't call it every time the countries are shown (see the function call below this function)
function woo_remove_country_filter() {
add_filter( 'woocommerce_countries', 'woo_remove_specific_country', 10, 1 );
}
// Instead of calling the filter on every page that has "countries", only call it on the checkout form
add_action( 'woocommerce_before_checkout_form', 'woo_remove_country_filter' );