Korrekte Methode, um nicht angemeldete Benutzer auf bestimmte Seiten einzuschränken

Ich habe mich gefragt, welches ist die richtige Methode, um dies zu tun und welche Aktion Haken sollte ich verwenden.

Ich habe benutzerdefinierte Login / Register-Seiten, wenn der Benutzer versucht, auf eine verbotene Seite zu gehen und nicht angemeldet ist, werde ich ihn auf eine Anmeldeseite redirect.

Momentan auf meiner functions.php habe ich folgendes bekommen:

/* * Restrict non logged users to certain pages */ add_action('template_redirect','my_non_logged_redirect'); function my_non_logged_redirect() { if ((is_page('mi-perfil') || is_page('agregar-empresa')) && !is_user_logged_in() ) { wp_redirect( home_url() ); die(); } } 

Ich verwende die richtige Methode / Hook oder sollte ich eine andere oder eine einfachere verwenden?

Solutions Collecting From Web of "Korrekte Methode, um nicht angemeldete Benutzer auf bestimmte Seiten einzuschränken"

Die Beiträge / Seiten, die Sie vor nicht angemeldeten Benutzern verbergen möchten, können als “Privat” veröffentlicht werden und sind für keinen öffentlichen Besucher der Website verfügbar. Auf diese Weise müssen Sie keine Umleitung oder benutzerdefinierten Code implementieren. Mehr Informationen finden Sie hier .

Ich möchte nur Danke sagen, ich konnte das nutzen und genau das tun, von dem ich gehofft habe, die Zeile zu ändern, um die Kategorie abzudecken und Leute auf meine Anmeldeseite zu schicken anstatt auf die Home-URL.

 /* * Restrict non logged users to certain pages */ add_action('template_redirect','my_non_logged_redirect'); function my_non_logged_redirect() { if ((in_category(1) && !is_user_logged_in() )) { wp_redirect( 'http://mysites.com/loginpage/' ); die(); } } 

Ich könnte keine bessere Methode finden als:

 /* * Restrict non logged users to certain pages */ add_action('template_redirect','my_non_logged_redirect'); function my_non_logged_redirect() { if ((is_page('mi-perfil') || is_page('agregar-empresa')) && !is_user_logged_in() ) { wp_redirect( home_url() ); die(); } }