Я намагаюся реалізувати woocommerces виключити штати з фрагмента безкоштовної доставки (австралійський сайт), але я стикаюся з цією помилкою:
"Фатальна помилка: виклик функції члена get_shipping_state () на об'єкті в /home/bpcsport/public_html/wp-content/plugins/wa-exclude/wa-exclude.php на лінії 30 "
Моєму клієнту потрібно виключити Західну Австралію з угоди про безкоштовну доставку, яку вони пропонують за допомогою woocommerce. Я отримую помилку в будь-якому випадку, якщо розміщую її у своїх темах function.php або через формат плагіна.
Я також спробував наступний метод безрезультатно.
Як я можу відключити безкоштовну доставку для окремих держав?
Це фрагмент з woocommerce, який знаходиться у плагіні
/**
* Hide ALL shipping options when free shipping is available and customer is NOT in certain states
* Hide Free Shipping if customer IS in those states
*
* Change $excluded_states = array( "AK","HI","GU","PR" ); to include all the states that DO NOT have free shipping
*/
add_filter( "woocommerce_available_shipping_methods", "hide_all_shipping_when_free_is_available" , 10, 1 );
/**
* Hide ALL Shipping option when free shipping is available
*
* @param array $available_methods
*/
function hide_all_shipping_when_free_is_available( $available_methods ) {
$excluded_states = array( "WA" );
if( isset( $available_methods["free_shipping"] ) AND !in_array( $woocommerce->customer->get_shipping_state(), $excluded_states ) ) :
// Get Free Shipping array into a new array
$freeshipping = array();
$freeshipping = $available_methods["free_shipping"];
// Empty the $available_methods array
unset( $available_methods );
// Add Free Shipping back into $avaialble_methods
$available_methods = array();
$available_methods[] = $freeshipping;
endif;
if( isset( $available_methods["free_shipping"] ) AND in_array( $woocommerce->customer->get_shipping_state(), $excluded_states ) ) {
// remove free shipping option
unset( $available_methods["free_shipping"] );
}
return $available_methods;
}
?>
Відповіді:
0 для відповіді № 1Я створив плагін, який дозволяє розширені конфігурації користувачів. Хоча він включає лише штати США, ви можете налаштувати умови країни та поштовий індекс.
Я не знаю, чи відповідає це вашим вимогам, але, можливо, варто перевірити: http://wordpress.org/plugins/woocommerce-advanced-free-shipping/