У меня есть плагин, который использует пользовательскую форму выписки. В этой форме проверки установлен флажок «создать учетную запись», идентичный по умолчанию Wordpress. Я пытаюсь написать код, чтобы добавить еще один флажок, который позволяет пользователю выбирать роль для этой новой учетной записи. Плагин, который создает эту форму выписки, имеет do_action, к которому я хочу подключиться. У меня даже есть переменная, которая мне нужна. К сожалению, я не знаю, как это использовать.do_action, передающий переменную с T_OBJECT_OPERATOR (->) PHP
do_action:
do_action('woocommerce_after_checkout_validation', $woocommerce_checkout->posted);
Как вы можете видеть это использует $woocommerce_checkout->posted
Мой код имеет следующий
add_action('woocommerce_after_checkout_validation', 'validate_professional_field' 10,1);
И В моей функции я стараюсь использовать это с помощью следующего кода :
function validate_professional_field($woocommerce_checkout->posted) {}
Это не работает И я понятия не имею, что здесь делать. Как использовать переменные, отправленные с действием?
В конце я хочу использовать $woocommerce_checkout->posted['createprofessional']
, чтобы получить значение, которое должно быть значением моего флажка.
Другие детали
Этот флажок был сделан с помощью следующего кода:
add_action('woocommerce_before_checkout_registration_form' , 'define_telesales_fields', 3);
<?php function define_telesales_fields() { ?>
<p class="form-row form-row-wide create-professional">
<div class="create-account">
<input class="input-checkbox" id="createprofessional" type="checkbox" name="createprofessional" value="1" />
<label for="createprofessional" class="checkbox"><?php _e('Create a professional', 'woocommerce'); ?></label>
</div>
</p>
<?php }?>
решенный
Запятая отсутствовала в add_action
add_action('woocommerce_after_checkout_validation', 'validate_professional_field', 10,1);
Оказывается, я сделал ошибку в: 'add_action («woocommerce_after_checkout_validation»,«validate_professional_field»10,1);' это должно be: 'add_action ('woocommerce_after_checkout_validation', 'validate_professional_field', 10,1);' Но большое вам спасибо за ваши усилия. Благодаря вашему ответу я знал, что правильно, что я делаю. Не удаляя вопрос, поскольку я думаю, что это может быть полезно кому-то. –