Да, вы можете сделать что с помощью некоторого простого сценария jQuery в зависимости от того, какой платежный шлюз вы хотите включить.
Может быть вам нужен первый добавить дополнительный класс CSS к вашим texarea
, чтобы лучше нацеливать его с помощью сценария запроса (я закончил немного коду для целей тестирования только).
Таким образом, ваша полный код функция будет:
add_action('woocommerce_after_order_notes', 'custom_checkout_textarea_field', 10, 1);
function custom_checkout_textarea_field($checkout){
echo '<div id="custom-texarea-field">
<h2>' . __('My Field Title', 'woocommerce') . '</h2>';
woocommerce_form_field('custom_product', array(
'type' => 'textarea',
'label' => __('Custom products', 'woocommerce'),
'required' => false,
'class' => array('custom-product-ta form-row-wide'), ## @ <== HERE
'clear' => true,
), $checkout->get_value('custom_product'));
echo '</div>';
}
Тогда теперь вы можете также добавить код ниже закрученным в woocommerce_checkout_before_customer_details
контроля действий крюка, который будет вставлять какой-скрипт запроса на страницу оформления заказа.
В этом примере сценарий jQuery включит переключатель для способа проверки оплаты, когда ваша текстовая область будет заполнена чем-то.
Так что это дополнительный код для этой цели:
add_action('woocommerce_checkout_before_customer_details','custom_jquery_for_texarea');
function custom_jquery_for_texarea(){
?>
<script>
jQuery(document).ready(function($) {
$('.custom-product-ta textarea').on('input', function(){
$('.wc_payment_method payment_method_cheque > input[name=payment_method]').prop('checked', true);
});
});
</script>
<?php
}
код идет в function.php файл вашей активной темы ребенка (или темы), или же в любом файле плагина.
Этот код протестирован и работает ...
Связанные ответ на JQuery код: JQuery: detect change in input field
WooCommerce документации: Customizing checkout fields using actions and filters
Является ли это просто флажок, который необходимо нажать для изменения Платежный шлюз? –
Привет @SergioAlen это не флажок, это должно быть textarea. поэтому, когда я начинаю писать в текстовом поле, также изменяется шлюз оплаты –
да, но есть ли способ изменить шлюз оплаты без текстовой области? –