我正在尝试为Woocommerce中的某些国家启用和停用某些付款功能。我已将以下代码放在我的函数中:
function payment_gateway_disable_by_country( $available_gateways ) {
// Abort if in admin area
if ( is_admin() ) {
return $available_gateways;
}
$billing_country = WC()->customer->get_country();
$shipping_country = ! empty( WC()->customer->get_shipping_country() ) ? WC()->customer->get_shipping_country() : $billing_country;
if ( isset( $available_gateways['invoice'] ) && $billing_country != 'DE' ) {
unset( $available_gateways['invoice'] );
}
if ( isset( $available_gateways['cod'] ) && $shipping_country != 'DE' ) {
unset( $available_gateways['cod'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways','payment_gateway_disable_by_country');
但随后我收到一个白色屏幕,显示以下错误消息:
致命错误:在第10行的/home/www/mysite/html/wordpress/wp-content/themes/mytheme/functions.php中,无法在写入上下文中使用方法返回值。 我的代码有什么问题吗?