Überprüfen Sie, ob das Tag, die Kategorie oder der Autor in der Datei archive.php steht

Ich mache ein WordPress-Theme und möchte eine einzelne archive.php-Seite verwenden, um Beiträge unter einem bestimmten Autor, einer Kategorie oder einem Tag zu präsentieren. Jetzt mache ich es wie:

if (is_author()) { } if (is_category()) { } if (is_tag()) { } 

Ich weiß, dass ich das in mehr Vorlagen teilen kann, aber ich möchte mich nicht wiederholen, und ich ziehe es im Allgemeinen vor, es in einer einzelnen php-Datei zu machen. Also, meine Frage ist:

Wie kann ich entweder die Kategorie, den Tag oder den Autor in jedem dieser ifs bekommen? Es scheint, dass ich für den Autor etwas verwenden kann wie:

 $author = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); 

und für die Kategorie:

 get_query_var( 'cat'); 

Aber ist das wirklich der Weg, es zu tun? Was ist ein sicherer Weg, um diese Informationen unabhängig von Permalinks zu bekommen?

Solutions Collecting From Web of "Überprüfen Sie, ob das Tag, die Kategorie oder der Autor in der Datei archive.php steht"

Du kannst es genauso benutzen wie du es geschrieben hast, was sicher ist und die Arbeit gut machen würde:

 if (is_author()) { $author = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); } elseif (is_category()) { //this will work in categories tags or custom taxonomy $term_slug = get_query_var( 'term' ); $taxonomyName = get_query_var( 'taxonomy' ); $current_term = get_term_by( 'slug', $term_slug, $taxonomyName ); } else(is_tag()) { //this will work in categories tags or custom taxonomy $term_slug = get_query_var( 'term' ); $taxonomyName = get_query_var( 'taxonomy' ); $current_term = get_term_by( 'slug', $term_slug, $taxonomyName ); } 

Nun, nachdem ich das gesagt habe, würde ich nur auf diese Weise empfehlen, wenn dieses Thema nicht veröffentlicht wird und zu Ihrer eigenen Verwendung ist. Wenn dieses Thema veröffentlicht wird, würde ich meinen Code in separate Dateien teilen, um es einfacher zu machen Anpassung und Einhaltung von Standards für die Themenstruktur.