The Events Calendar: Permalinks schützen

[ad_1]

Ich habe das nicht geprüft, weil ich The Events Calendar noch nie eingesetzt habe, aber du kannst mit ein paar Zeilen Code nicht angemeldete Benutzer bei Aufruf einer bestimmten Seite auf eine andere Seite weiterleiten, sinngemäß sowas wie

add_action( 'template_redirect', 'redirect_if_user_not_logged_in' );

function redirect_if_user_not_logged_in() {
  if( is_page( 'events' ) && ! is_user_logged_in() ) {
    wp_redirect( home_url() ); 
    exit;
  } 
}

Thread-Starter
Thobie

(@thobie)

Danke, Bego, ich teste diese Umleitung nachher mal. Funktioniert dies denn grundsätzlich, damit die beiden genannten Permalinks auch definitiv geschützt sind? Oder sind die beiden Permalinks definitiv ein Einfalltor für Hacker?

Kannst Du mir auch noch sagen, in welcher php-Datei dieser Code eingefügt werden muss?

Wie gesagt: ich nutze The Events Calendar nicht.

Die Weiterleitung sollte aber „grundsätzlich“ funktionieren, wenn
a) die Seite „events“ aufgerufen wird und
b) der Benutzer nicht angemeldet ist (auch nicht als Abonnent).

Kannst Du mir auch noch sagen, in welcher php-Datei dieser Code eingefügt werden muss?

Ich dachte du kennst dich so weit aus?
Du kannst die Funktion in der functions.php eines Child-Themes anhängen, ein eigenes Plugin schreiben oder Code Snippets verwenden.

Thread-Starter
Thobie

(@thobie)

Moin, Moin, Bego,

Dein Code funktioniert nicht. Ich habe ihn in Code Snippets eingegeben und gespeichert. Dennoch gelange ich mit dem Permalink auf die Seite der Events, also nicht auf die Startseite der Website. Ich habe dies extra in einem zweiten Browser durchgeführt, in dem ich nicht auf der Website angemeldet war.

Ich habe noch zwei weitere Frage dazu.

1) Kann ich den Terminus home_url, der auf die Startseite führt, durch eine beliebige URL einer Seite austauschen, auf der der Besucher mitgeteilt bekommt, er müsse sich vor dem Zugang zu der Seite Events erst anmelden?

2) Kann ich Deinen Code, so er denn funktioniert, duplizieren und ebenfalls in Code Snippet eingeben, da ich auch den Permalink der einzigen Veranstaltung SingleEvent, also nicht den der Übersicht, schützen will? Ich bekomme dabei nämlich eine Fehlermeldung.

Dein Code funktioniert nicht. Ich habe ihn in Code Snippets eingegeben und gespeichert. Dennoch gelange ich mit dem Permalink auf die Seite der Events, also nicht auf die Startseite der Website. Ich habe dies extra in einem zweiten Browser durchgeführt, in dem ich nicht auf der Website angemeldet war.

So? Hat die Seite denn einen Slug events? (Slug bezeichnet die Titelform in der URL, bei ist das events.)

Kann ich den Terminus home_url, der auf die Startseite führt, durch eine beliebige URL einer Seite austauschen …

Ja.

Kann ich Deinen Code, so er denn funktioniert, duplizieren und ebenfalls in Code Snippet eingeben, da ich auch den Permalink der einzigen Veranstaltung SingleEvent, also nicht den der Übersicht, schützen will?

Die Funktion is_page( 'events )prüft, ob eine Seiteaufgerufen wird und gibt danntruezurück. Möchtest du prüfen, ob die Seite mit der ID 42, dem Seitennameneventsoder dem TitelRolling Stonesabgerufen wird, kannst duis_page( array( 42, ‚events‘, ‚Rolling Stones‘ ) );` verwenden. (vgl.

[ad_2]

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer