Здравствуйте, в общем вопрос такой: при оформлении заказа на странице Woocommerce клиент вводит данные, допустим "платежные" у меня там множество полей произвольных, так как перед покупкой нужно собрать информацию. Все поля обязательные. Мне нужно сделать так, чтобы те данные, которые ввел клиент при оформлении заказа (с полей) дублировались в личный кабинет в "профиль", ибо создавать дубли и там и там неудобно для клиента, а мне нужно видеть эту информацию у него в профиле в личном кабинете. Прошу не закидывать тапками, сделал множество кастомных решений для разных дополнений, но вот здесь как то застрял
Андрей CS сказал(а)
к сожалению, я не работаю с плагином WC, не знаю, какой у него срабатывает хук в момент обработки корзины
поля находятся здесь. form-billing.php
<?php /** * Checkout billing information form * * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-billing.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @package WooCommerceTemplates * @version 3.6.0 * @global WC_Checkout $checkout */ defined( 'ABSPATH' ) || exit; ?> <div class="woocommerce-billing-fields"> <?php if ( wc_ship_to_billing_address_only() && WC()->cart->needs_shipping() ) : ?> <h3><?php esc_html_e( 'Billing & Shipping', 'woocommerce' ); ?></h3> <?php else : ?> <h5><?php esc_html_e( 'Billing details', 'woocommerce' ); ?></h5> <?php endif; ?> <?php do_action( 'woocommerce_before_checkout_billing_form', $checkout ); ?> <div class="woocommerce-billing-fields__field-wrapper"> <?php $fields = $checkout->get_checkout_fields( 'billing' ); foreach ( $fields as $key => $field ) { woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); } ?> </div> <?php do_action( 'woocommerce_after_checkout_billing_form', $checkout ); ?> </div> <?php if ( ! is_user_logged_in() && $checkout->is_registration_enabled() ) : ?> <div class="woocommerce-account-fields"> <?php if ( ! $checkout->is_registration_required() ) : ?> <p class="form-row form-row-wide create-account"> <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox"> <input class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" id="createaccount" <?php checked( ( true === $checkout->get_value( 'createaccount' ) || ( true === apply_filters( 'woocommerce_create_account_default_checked', false ) ) ), true ); ?> type="checkbox" name="createaccount" value="1" /> <span><?php esc_html_e( 'Create an account?', 'woocommerce' ); ?></span> </label> </p> <?php endif; ?> <?php do_action( 'woocommerce_before_checkout_registration_form', $checkout ); ?> <?php if ( $checkout->get_checkout_fields( 'account' ) ) : ?> <div class="create-account"> <?php foreach ( $checkout->get_checkout_fields( 'account' ) as $key => $field ) : ?> <?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?> <?php endforeach; ?> <div class="clear"></div> </div> <?php endif; ?> <?php do_action( 'woocommerce_after_checkout_registration_form', $checkout ); ?> </div> <?php endif; ?>