it-swarm.com.de

WooCommerce-Seiten nur für angemeldete Benutzer zugänglich machen

Ich habe eine Website mit WordPress und einen E-Commerce mit WooCommerce. Ich möchte, dass mein Shop (und alle seine Seiten) nur von angemeldeten Benutzern gesehen werden.

Über das User Access Manager Plugin habe ich den Zugriff auf die Shop-Seite verweigert, aber mit einem direkten Link zu einem Produkt usw. kann man trotzdem auf diese bestimmte Seite zugreifen, auch wenn der Benutzer nicht angemeldet ist.

Wie kann ich Benutzer, die nicht angemeldet sind, auf eine andere Seite umleiten, wenn sie versuchen, auf eine WooCommerce-Seite zuzugreifen?

11
Alessandro

Fügen Sie dies in Ihre functions.php Datei ein:

function wpse_131562_redirect() {
    if (
        ! is_user_logged_in()
        && (is_woocommerce() || is_cart() || is_checkout())
    ) {
        // feel free to customize the following line to suit your needs
        wp_redirect(home_url());
        exit;
    }
}
add_action('template_redirect', 'wpse_131562_redirect');

Was tut es?
Wir prüfen, ob ein nicht angemeldeter Benutzer eine WooCommerce-Seite sehen möchte und leiten ihn/sie auf unsere Homepage weiter.

23
tfrommen

Ich habe gerade die Umleitung auf geändert

wp_redirect( site_url('my-account/') )

benutzer werden daher auf die Seite "Mein Konto" umgeleitet, wenn sie nicht angemeldet oder registriert sind.

7
Pierre