#php #wordpress #woocommerce #checkout #user-registration
#php #wordpress #woocommerce #Оформить покупку #пользователь-регистрация
Вопрос:
Я пытаюсь удалить логин и регистрацию при оформлении заказа из плагина woocommerce в WordPress
я попробовал гостевой заказ, но это не работает, я попробовал этот код
remove_action( 'woocommerce_before_checkout_form', $checkout );
if ( ! $checkout->is_registration_enabled() amp;amp; $checkout->is_registration_required() amp;amp; ! is_user_logged_in() ) {
echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ) );
return;
}
Когда я прокомментировал условие if, тогда открывается форма оформления заказа, но когда я нажал оформить заказ, это выдает мне эту ошибку:
«Создать пароль учетной записи — обязательное поле. Имя пользователя учетной записи является обязательным полем.»
Что я делаю не так? Любая помощь приветствуется.
Ответ №1:
Чтобы удалить форму входа из оформления заказа Woocommerce, используйте:
// Remove login form from checkout
add_action( 'woocommerce_before_checkout_form', 'remove_checkout_login_form', 4 );
function remove_checkout_login_form(){
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_login_form', 10 );
}
Чтобы удалить регистрацию из оформления заказа Woocommerce, просто используйте:
add_filter( 'woocommerce_checkout_registration_enabled', '__return_false' );
Оба фрагмента отправляются в function.php файл вашей активной дочерней темы (или active theme). Протестировано и работает.
Комментарии:
1. Очень полезно, большое спасибо @loictheaztec ! Я использовал это, чтобы отцепить ее вверху и подключить к пользовательскому подключению в ФОРМЕ оформления заказа. Однако, как только вы помещаете ее в элемент <form> на странице оформления заказа, функция скольжения больше не работает, т. Е. Она всегда сворачивается, а поля входа всегда видны. Есть ли способ сохранить эффект скольжения / открывания?