Wie erkennen / kategorisieren und / / Basis-Seiten?

In einem Thema, das ich erstelle, habe ich diese Struktur, um festzustellen, um was für eine Art von Seite es sich handelt. Wenn ich jedoch mydomain.com/category/ oder mydomain.com/tag/ besuche, bekomme ich nur die “nichts gefunden” -Meldung, die ich in der else-statement von have_posts () habe. Gibt es eine Möglichkeit zu erkennen, wenn diese Links besucht werden und etwas anderes als was in der letzten else-statement angezeigt wird?

if(is_category()): echo '

title here

'; elseif(is_tag()): echo '

title here

'; elseif(is_author(): echo '

title here

'; elseif(is_archive()): echo '

title here

'; endif; if(have_posts()): //the loop else: echo '

Nothing Found

'; endif;

Solutions Collecting From Web of "Wie erkennen / kategorisieren und / / Basis-Seiten?"

Es gibt keinen guten Weg dies zu tun, aber es kann auf eine Art gemacht werden. Wenn Sie / category / besuchen, dient es als ob Sie eine Seite namens Kategorie besuchen. Sie können wie folgt suchen:

 global $wp_query; if ($wp_query->query_vars['pagename'] == "category") { // This is base category } else if ($wp_query->query_vars['pagename'] == "tag") { // this is tag base } 

Aber das sollte nie gemacht werden. Es ist im Grunde eine Junk-Abfrage; a 404, und sendet einen 404-Antwortcode, so dass Sie einen anderen Antwortcode senden müssen. Aus diesem Grund (wenn Sie sich entscheiden, es zu verwenden) sollte dieser Code in header.php gehen, obwohl es in 404.php hochgehen könnte (vor jeder Ausgabe).

Wenn ich dies über den htaccess-Block von WordPress-Regeln stelle, kann ich die Tag- und Kategoriebasisseiten zurück zur Homepage redirect.

 RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] RewriteCond %{HTTP_HOST} ^localhost$ RewriteRule ^category/?$ "http://mydomain.com" [R=301,L] RewriteRule ^tag/?$ "http://mydomain.com" [R=301,L]