Leiten Sie zuerst die private Seite zum Anmelden um und zeigen Sie dann die Seite in WordPress an
Lesezeit: 2 Minuten
Benutzer2887097
Ich habe mehrere private Seiten, die von meinen öffentlichen Seiten verlinkt sind. Wenn ein nicht eingeloggter Benutzer auf einen dieser Links klickt, erhält er standardmäßig eine 404-Seite. Ich möchte, dass sie eine Anmeldeseite erhalten und dann mit der angeforderten Seite fortfahren.
Das Redirect-Plugin von Pete ist großartig, aber es möchte nach der Anmeldung zu speziell festgelegten Seiten pro Benutzer/Rolle gehen. Ich möchte einfach auf der angeforderten Seite fortfahren.
Irgendwelche Vorschläge? danke, reich
Wie bekommen sie eine 404-Seite? Verwenden Sie dafür ein Plugin wie Advanced Access Manager oder UAM?
– Laxmana
12. November 2013 um 16:13 Uhr
Dies ist der richtige Weg
add_action('wp', 'redirect_private_page_to_login');
function redirect_private_page_to_login(){
global $wp_query;
$queried_object = get_queried_object();
if ($queried_object->post_status == "private" && !is_user_logged_in()) {
wp_redirect(home_url('/login?redirect=".get_permalink($queried_object->ID)));
}
}
Wo soll ich diesen Code hinzufügen? zB functions.php oder page.php?
– Amo
20. Mai 2018 um 14:42 Uhr
Sehr einfach. Wenn Sie zum Standard-WP-Login umleiten möchten, verwenden Sie stattdessen Folgendes: wp_redirect( wp_login_url( get_permalink( $queried_object->ID ) ) );
– Jeremy Carlson
24. Januar 2020 um 22:49 Uhr
Ich hatte ein paar Probleme mit der Antwort von Tu Bui. Hier ist eine verbesserte Version.
if(is_user_logged_in()){
echo '<a href="https://stackoverflow.com/questions/19933095/link to pvt page"> pvt page </a>';
} else{
echo '<a href="link to Login page"> login to continue </a>';
}
Das ist ein toller Anfang, aber ich hatte auf etwas Automatisches gehofft. Ich möchte diesen Code nicht auf jeder privaten Seite einfügen müssen, die ich erstelle. Gibt es einen automagischen Weg?
– Benutzer2887097
12. November 2013 um 18:25 Uhr
Platzieren Sie diesen Code in einer Funktion und fügen Sie diese Funktion jeder Seite hinzu
– Prinz Singh
12. November 2013 um 18:28 Uhr
13120500cookie-checkLeiten Sie zuerst die private Seite zum Anmelden um und zeigen Sie dann die Seite in WordPress anyes
Wie bekommen sie eine 404-Seite? Verwenden Sie dafür ein Plugin wie Advanced Access Manager oder UAM?
– Laxmana
12. November 2013 um 16:13 Uhr