В Woocommerce я использую функцию, чтобы скрыть варианты оплаты, когда пользователь выбирает конкретную доставку:
public function custom_available_payment_gateways( $gateways ) {
$chosen_shipping_rates = ( isset( WC()->session ) ) ? WC()->session->get( 'chosen_shipping_methods' ) : array();
if ( in_array( 'local_pickup:14', $chosen_shipping_rates ) ) :
unset( $gateways['cod'] );
elseif ( in_array( 'flat_rate:17', $chosen_shipping_rates ) ) :
unset( $gateways['bacs'] );
unset( $gateways['przelewy24'] );
elseif ( in_array( 'flat_rate:18', $chosen_shipping_rates ) ) :
unset( $gateways['bacs'] );
unset( $gateways['przelewy24'] );
endif;
return $gateways;
}
Добавить комментарийСвернуть
Ввод сообщений
Записать что-нибудь
полужирный курсив ~ strike ~ code
preformatted
> цитата Результаты поиска
Включить: все Все сообщения Файлы 1 Результат
, который работает нормально, но я получаю ошибку - payment_method был вызван неправильно - как я могу изменить эту функцию для правильного вызова?