私はWordpressとWooCommerceを使用してサイトを構築しています。私はにあるチェックボックスを必要とする 登録フォームでロールを選択する(Woocommerce)
(異なる価格とaditional製品を持っているこのユーザーを)
- 通常の顧客(woocommerceのデフォルトの顧客)
- B2B顧客:このサイトは、クライアントの2種類を持っている必要があります登録フォームに表示されます。
ユーザーがチェックボックスをオンにすると、b2bロールが割り当てられ、追加フィールドが表示されて登録が完了します。
私は聖霊降臨祭にこのコードをtriyingてる
EDIT:
/*checkbox*/ add_action('woocommerce_after_checkout_billing_form', 'mostrar_campo_nif_profesionales'); function mostrar_campo_nif_profesionales($checkout) { echo '<div id="mostrar_campo_nif_profesionales"><h3>'.__('¿Eres un profesional?').'</h3>'; woocommerce_form_field('check_profesional', array( 'type' => 'checkbox', 'class' => array('checkbox-profesionales form-row-wide'), 'label' => __('Profesional?'), 'required' => false, ), $checkout->get_value('profesional')); echo '</div>'; } /*the field must appears when the checkbox are checked*/ if ("DON'T KNOW WHAT CONDITION MUST BE WRITE HERE") { /*** Añadir campo personalizado a página de checkout ***/ add_action('woocommerce_after_checkout_billing_form', 'campo_nif_profesionales'); function campo_nif_profesionales($checkout) { echo '<div id="campo_nif_profesionales"><h3>'.__('NIF/CIF').'</h3>'; woocommerce_form_field('NIF', array( 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('NIF/CIF'), 'placeholder' => __('Introduzca su NIF/CIF'), 'required' => true, ), $checkout->get_value('NIF')); echo '</div>'; } /*** Validación del campo personalizado ***/ add_action('woocommerce_checkout_process', 'campo_nif_profesionales_process'); function campo_nif_profesionales_process() { global $woocommerce; // Comprobar si el campo ha sido completado, en caso contrario agregar un error. if (!$_POST['NIF']) $woocommerce->add_error(__('Por favor introduce tu NIF o CIF.')); } /*** Incluir campo personalizado a formato de orden ***/ add_action('woocommerce_checkout_update_order_meta', 'campo_nif_profesionales_update_order_meta'); function campo_nif_profesionales_update_order_meta($order_id) { if ($_POST['NIF']) update_post_meta($order_id, 'NIF/CIF', esc_attr($_POST['NIF'])); } /*** Incluir campo personalizado a correos electrónicos de órdenes ***/ add_filter('woocommerce_email_order_meta_keys', 'campo_nif_profesionales_order_meta_keys'); function campo_nif_profesionales_order_meta_keys($keys) { $keys[] = 'NIF/CIF'; return $keys; } }
しかし、今問題は、ユーザーがチェックボックス
パート3の詳細を記載したり、例を挙げたりできますか? –
@AlejandroGarrido、ありがとう、コードでの答えを更新しました。さらなる助けが必要な場合は私にpingしてください。ではごきげんよう。 –