Die Seite „Mein Konto“ von Woocommerce zeigt ein Registrierungs-/Anmeldeformular, wenn der Benutzer nicht angemeldet ist, aber ich versuche stattdessen, die standardmäßige WordPress-Anmelde-/Registrierungsseite (wp-login.php) zu verwenden.
Wie kann ich „/my-account“ auf „wp-login.php“ umleiten, wenn der Benutzer nicht angemeldet ist?
Vielen Dank.
Normalerweise kann die Benutzerrolle „Kunde“ von Woocommerce nicht auf den Administrator von WordPress zugreifen. Aber Sie können eine eingebaute Funktion verwenden woocommerce_before_customer_login_form
Haken Sie mit einer gemischten Bedingung, um den Benutzer auf diese Weise zum klassischen WordPress-Anmeldebereich umzuleiten:
add_action( 'woocommerce_before_customer_login_form', 'redirect_customer_login_access');
function redirect_customer_login_access() {
// Here the conditions (woocommerce my account pages and unlogged user)
if( is_account_page() && !is_user_logged_in()){
// Define here the redirection after login (optional)
$redirection_after = site_url( '/shop/' );
// Redirecting to WordPress login area
wp_redirect( wp_login_url( $redirection_after ) );
// always use exit after wp_redirect() function.
exit;
}
}
Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (aktives Design oder in eine beliebige Plugin-Datei) eingefügt.
Dieser Code ist getestet und funktioniert.