Die beste Möglichkeit, die Kategorie auf die Seite umzuleiten und die Kategorie auszublenden

Ich habe eine Kategorie Archivseite unter: http://mysite.com/news

Es zeigt ein Archiv mit Artikeln aus der Kategorie ‘Nachrichtenartikel’

Ich möchte alle Anfragen für http://mysite.com/category/news-article zu http://mysite.com/news redirect (so dass ersteres nie direkt zugänglich ist).

Gibt es eine Best Practice? Soll ich eine 301 Redirect in meine .htaccess-Datei einfügen (oder ein Plugin verwenden, um das Gleiche zu tun)?

Oder sollte ich wp_safe_redirect ? Wenn ja, welchen Aktions-Hook sollte ich verwenden? Wie in:

 add_action( 'WHICH_ACTION_HOOK??', 'adam_redirect_news' ); function adam_redirect_news () { if ( is_category( 'news-article' ) ) { wp_safe_redirect( 'http://mysite.com/news' ); exit; } } 

Solutions Collecting From Web of "Die beste Möglichkeit, die Kategorie auf die Seite umzuleiten und die Kategorie auszublenden"

Ich weiß aus irgendeinem Grund nicht, dass der add_filter Fehler verursacht hat. Ich habe folgendes benutzt:

 function my_page_template_redirect() { if ( is_category( 'news-articles' ) ) { $url = site_url( '/news' ); wp_safe_redirect( $url, 301 ); exit(); } } add_action( 'template_redirect', 'my_page_template_redirect' ); 

Dank @Layka oben, habe ich den Code ein wenig verändert und das tut, was ich brauchte.

Es könnte vielleicht irgendein Filter sein, der ungefähr zur selben Zeit aufgerufen wird – nicht sicher.

 /** * Redirect 'category/news-articles' category to 'News page' ( at http://www.example.com/news' ) * */ add_filter('template_redirect', 'template_redirect_filter', 10, 3); function template_redirect_filter( $url, $term, $taxonomy ) { if ( is_category( 'news-articles' ) ) { $url = site_url( '/news' ); wp_safe_redirect( $url, 301 ); exit; } return $url; }