Удалить форму входа (и регистрации) на странице оформления заказа WooCommerce

#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> на странице оформления заказа, функция скольжения больше не работает, т. Е. Она всегда сворачивается, а поля входа всегда видны. Есть ли способ сохранить эффект скольжения / открывания?