Wie erstelle ich eine Seite, die Tags nach Anfangsbuchstaben auflistet?

Ich möchte eine Seite erstellen, die Tags auflistet, die mit einem bestimmten Buchstaben beginnen. So möchte ich zum Beispiel eine Seite, die alle Tags auflistet, die mit dem Buchstaben “A” beginnen. Das ist der Code, den ich bis jetzt bekommen habe

 "a", 'order' => 'ASC'); $terms = get_terms('post_tag', $args); if ( !empty( $terms ) && !is_wp_error( $terms ) ) { $count = count($terms); $i=0; $term_list = '
    '; echo '

    A

    '; foreach ($terms as $term) { $i++; $term_list .= '
  • name) . '">' . $term->name . '
  • '; if ($count != $i) { $term_list .= ''; } else { $term_list .= '
'; } } echo $term_list; } ?>

Das Problem ist, dass es nicht alle Tags auflistet, die mit dem Buchstaben A beginnen, sondern alles, was den Buchstaben “A” enthält. Wie kann ich das beheben?

Eine weitere Frage: Gibt es eine effektivere Möglichkeit, separate Seiten für alle 27 alphabetischen Buchstaben zu erstellen? weil ich sie nicht manuell erstellen möchte

Solutions Collecting From Web of "Wie erstelle ich eine Seite, die Tags nach Anfangsbuchstaben auflistet?"

Erste Frage Antwort:

Um nach dem Anfangsbuchstaben Ihrer Begriffe zu filtern, müssen Sie die Abfrage filtern, was Sie mit dem Haken ” terms_clauses tun können. Indem Sie den folgenden Codeblock in die functions.php Ihres Themes einfügen, können Sie

 function the_dramatist_filter_term_clauses( $clauses ) { remove_filter('term_clauses','the_dramatist_filter_term_clauses'); $pattern = '|(name LIKE )\'%(.+%)\'|'; $clauses['where'] = preg_replace($pattern,'$1 \'$2\'',$clauses['where']); return $clauses; } add_filter('terms_clauses','the_dramatist_filter_term_clauses'); 

Antwort der zweiten Frage:

Ich glaube nicht, dass Sie 27 Seiten für jeden Buchstaben erstellen müssen. $_GET können $_GET Variable $_GET , um dies für Sie zu tun. Indem Sie diese $_GET Variable verwenden, können Sie den Buchstaben als Parameter übergeben, der Sie sein müssen, und fangen Sie ihn mit $name__like = isset($_GET['your_get_variable name']) ? $_GET['your_get_variable name'] : ''; $name__like = isset($_GET['your_get_variable name']) ? $_GET['your_get_variable name'] : ''; . Übergeben Sie es dann an das Array $args . Das Array wird wie folgt aussehen:

 $name__like = isset($_GET['your_get_variable name']) ? $_GET['your_get_variable name'] : ''; $args = array( 'name__like' => $name__like, 'order' => 'ASC', 'hide_empty' => 0 // Put 0 If you need to show the empty terms otherwise 1 ); 

Ich hoffe, das hilft.