カスタムチェックアウトフォームを使用するプラグインがあります。このチェックアウトフォームには、デフォルトの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);'しかし、努力してくれてありがとう。あなたの答えのおかげで、私がしていたことが正しいのか分かりました。私はこれが誰かにとって役に立ちそうだと思うので、質問を削除しないでください。 –