Umleiten von angemeldeten Benutzern, wenn sie sich auf einer bestimmten Seite befinden

Ich versuche, einen Benutzerzugriff neben dem Administrator auf die Registrierungsseite zu verhindern und die Kennwortseite zurückzusetzen, wenn sie bereits angemeldet sind. Ich habe Folgendes:

function redirect_loggedin_users() { // Maybe use is_user_logged_in() instead? if (!current_user_can('manage_options') && is_page(array(2090, 2092))) { wp_redirect(home_url()); exit(); } } add_action('init', 'redirect_loggedin_users'); 

Ich habe es getestet und es funktioniert nicht. Kann mir bitte jemand helfen? Vielen Dank.

Solutions Collecting From Web of "Umleiten von angemeldeten Benutzern, wenn sie sich auf einer bestimmten Seite befinden"

Ein Problem ist, dass Sie sich zu früh einklinken. Referenzieren Sie die Hooks-API-Aktionsreferenz . Vorlagenbedingungen wie is_page() sind erst verfügbar, nachdem die Abfrage eingerichtet und analysiert wurde. Die früheste Aktion, auf die Sie in der Regel sicher auf pre_get_posts zurückgreifen können, ist pre_get_posts . Sie hängen an init , das viel früher feuert:

  • muplugins_loaded Nach der Verwendung von Plug-ins müssen Plugins geladen werden
  • registred_taxonomy Für Kategorie, post_tag usw.
  • registered_post_type Für Post, Seite usw.
  • plugins_loaded Nach dem plugins_loaded aktiver Plugins und Pluggable-functionen
  • sanitize_comment_cookies
  • setup_theme
  • load_textdomain Für die Standarddomäne
  • after_setup_theme Allgemeinen verwendet, um Themeneinstellungen / Optionen zu initialisieren.
  • auth_cookie_malformed
  • auth_cookie_valid
  • set_current_user
  • init normalerweise von Plugins zum Initialisieren verwendet. Der aktuelle Benutzer ist bereits zu diesem Zeitpunkt authentifiziert.
  • widgets_init Wird verwendet, um Seitenleisten zu registrieren. Dies wird bei ‘init’ mit einer Priorität von 1 ausgetriggers.
  • register_sidebar Für jeden Seitenleisten- und Fußbereich
  • wp_register_sidebar_widget Für jedes Widget
  • wp_default_scripts (ref-Array)
  • wp_default_styles (ref-Array)
  • admin_bar_init
  • add_admin_bar_menus
  • wp_loaded Nachdem WordPress vollständig geladen ist
  • parse_request Ermöglicht die Manipulation der HTTP- parse_request (ref-Array)
  • send_headers Ermöglicht die Anpassung von HTTP-Headern (ref-Array)
  • parse_query (ref-Array)
  • pre_get_posts das pre_get_posts bevor eine Abfrage ausgeführt wird. (Referenzarray)
  • posts_selection
  • wp Nachdem das WP-Objekt eingerichtet wurde (ref-Array)
  • template_redirect
  • get_header
  • wp_enqueue_scripts

Angesichts der Natur dessen, was Sie versuchen zu tun, würde ich empfehlen, in template_redirect einzuhaken.