Warum funktioniert dieser wp_redirect nicht in is_single ()?

Ich habe einen benutzerdefinierten Post-Typ (Portfolio) und muss eine bestimmte Seite (dieses benutzerdefinierten Post-Typs) auf eine andere Seite redirect.

wenn ich meine benutzerdefinierte Post-Typ-Seite ansehe:

Bildbeschreibung hier eingeben

Also habe ich den Code wie folgt geschrieben, um die obige “Portfolio” -Seite umzuleiten:

if (is_singular('2024')) { wp_redirect('http://mysitedomain.com/../rugby/'); } 

aber wenn ich die Seite (ID = 2024) im Frontend besuche, wird nicht auf die Seite http://mysitedomain.com/../rugby/ umgeleitet, warum ist das so?

  • 2024 – ist eine benutzerdefinierte Seitentyp-ID
  • http://mysitedomain.com/../rugby/ – ist ein Standard-‘Seite ‘Typ nicht ein’ Post ‘Typ in wp.

Solutions Collecting From Web of "Warum funktioniert dieser wp_redirect nicht in is_single ()?"

is_singular() akzeptiert nur post_type , benutze is_single('2024') für bestimmte Post.

 if (is_single(2024)) { wp_redirect('http://mysitedomain.com/../rugby/'); exit(); } 

Aktualisieren:

Auch wp_redirect() funktioniert nicht, nachdem Header gesendet wurden. Bitte stellen Sie sicher, dass Sie vor den Headern redirect. Sie können diese function also auf template_redirect haken und in functions.php

 function redirect_custom_page() { if (is_single('2024')) { wp_redirect('http://mysitedomain.com/../rugby/'); exit(); } } add_action('template_redirect', 'redirect_custom_page');