- Trạng thái
- Đang mở
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Plugin/giao diện liên quan
- WooCommerce Payments
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Hiện tại, không thể lưu bất kỳ thay đổi nào đối với Country availability trong cài đặt WooPayments của bạn khi sử dụng WPML Multilingual & Multicurrency for WooCommerce.
Sự cố này tương tự như sự cố đã được báo cáo cho Cổng thanh toán WooCommerce Stripe.
Giải pháp tạm thời
Trong thời gian chờ đợi, bạn có thể xem xét một trong các giải pháp sau:
1) Nếu bạn muốn giới hạn WooPayments cho một quốc gia duy nhất (ví dụ: Tây Ban Nha), bạn có thể sử dụng mã sau:
// Limit Stripe to Spain.
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\MultiCurrency\Geolocation::getUserCountry();
if ( $country ) {
if ( 'ES' !== $country ) {
unset( $gateways['woocommerce_payments'] );
}
}
return $gateways;
} );2) Mặt khác, nếu bạn muốn giới hạn WooPayments cho một vài quốc gia, bạn có thể sử dụng biến thể này:
// Limit WooPayments for several countries
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\MultiCurrency\Geolocation::getUserCountry();
if ( $country ) {
// List of country codes to check against
$country_codes = array('ES', 'FR', 'DE');
if ( !in_array($country, $country_codes) ) {
unset( $gateways['woocommerce_payments'] );
}
}
return $gateways;
} );
Bạn có thể thêm mã trên vào tệp functions.php trong giao diện của bạn.
Đừng quên điều chỉnh mã quốc gia theo nhu cầu của bạn (trong cả hai ví dụ, chúng tôi sử dụng ‘ES’ cho Tây Ban Nha).