Wann sind WP-Redirect-Methoden sicher zu haken?

Ich verwende derzeit wp_safe_redirect() in einer Callback-function, die in den template_include Filter wp_safe_redirect() ist. Ich möchte hier meine bedingten statementen ausführen, um festzustellen, ob die Vorlage basierend auf Benutzerfunktionen geladen werden soll. Wenn nicht, dann leite auf die Startseite um. Es sieht aus wie das:

 public function my_load_template( $page_template ) { if ( is_singular( 'my_cpt' ) && is_user_logged_in() && current_user_can( 'update_core' ) ) { return plugin_dir_path( dirname( __FILE__ ) ) . 'public/templates/single-my_cpt.php'; } else { wp_safe_redirect( home_url() ); exit; } } 

Hooked mit add_filter( 'template_include', my_load_template' );

In dem Fall, dass es umleitet, bekomme ich einen Browsererrors, der sagt, dass die Seite “Sie zu oft umgeleitet hat”. Ich vermute, dass dies ein Ergebnis der Ausführung der Weiterleitung während dieses Filters sein könnte.

Ich möchte, dass meine bedingte Überprüfung der Benutzerfunktionen so früh wie möglich erfolgt. Wann kann man dem dann mit einer Weiterleitung folgen? Soll ich in der einzelnen Post-Vorlage eine Fähigkeitsprüfung durchführen und redirect?

Solutions Collecting From Web of "Wann sind WP-Redirect-Methoden sicher zu haken?"

Ich habe Action-Hooks durchlaufen und die früheste, die ich es richtig mit meinen Bedingungen für Benutzer- und Seitentyp Bedingungen funktioniert, ist die Aktion wp . Obwohl ich es derzeit in template_redirect einhänge, so wie es nach dem Codex am geeignetsten und für diesen Zweck vorgesehen ist:

Es ist ein guter Haken, wenn Sie eine Umleitung mit voller Kenntnis des abgefragten Inhalts durchführen müssen.

Jeder Versuch, in einer Aktion, die wp vorausgeht, in der Reihenfolge [Aktionen ausführen] umzuleiten, würde Probleme verursachen, wie z. B. die Möglichkeit, Header nicht zu ändern, oder den Fehler “Sie zu oft umgeleitet”.