Я использую " Предварительно заполнить поля проверки Woocommerce с помощью кода ответа URL-адресов, сохраненных в сеансе ", пытаясь заполнить имя пользователя и пароль для входа в Woocommerce переменными, сохраненными в сеансе.
Этомой настроенный код в functions.php
пока:
// Save user data from URL to Woocommerce session, this works fine
add_action( 'template_redirect', 'set_custom_data_wc_session' );
function set_custom_data_wc_session () {
if ( isset( $_GET['sliced_client_email'] ) || isset( $_GET['tu_name'] ) ) {
$email = isset( $_GET['sliced_client_email'] ) ? esc_attr( $_GET['sliced_client_email'] ) : '';
$pw = isset( $_GET['password'] ) ? esc_attr( $_GET['password'] ) : '';
// Set the session data
WC()->session->set( 'custom_data', array( 'email' => $email, 'password' => $pw ) );
}
}
// Autofill checkout fields from user data saved in Woocommerce session, this is my problem
add_filter( 'woocommerce_login_form' , 'prefill_login_fields' );
function prefill_login_fields ( $xxx ) {
// Get the session data
$data = WC()->session->get('custom_data');
// Email
if( isset($data['email']) && ! empty($data['email']) )
$xxx['username']['default'] = $data['email'];
// Password
if( isset($data['password']) && ! empty($data['password']) )
$xxx['password']['default'] = $data['password'];
}
Но, конечно, я не могу найти параметры для заполнения.На странице оформления заказа есть $address_fields['billing_email']
, но я не могу найти аналогичный параметр для страницы входа.Не уверен, что положить в $xxx
и $xxx['username']['default']
и $xxx['password']['default']
.
Спасибо за помощь !!