get_terms – name__like eine Zahl

Verwenden Sie Get Get Terms mit dem Argument ‘name__like’. Wie gebe ich alle Ergebnisse zurück, die mit einer beliebigen Zahl beginnen?

Ich habe es versucht:

$feats = get_terms( 'movies', array('name__like' => '1', 'name__like' => '2', 'name__like' => '3' ) ); 

und

 $feats = get_terms( 'movies', array('name__like' => '1,2,3,4,5,6,') ); 

Beide funktionieren nicht richtig. Die erste Methode gibt den letzten “name__like” -Wert zurück, ignoriert jedoch den Rest.

Irgendwelche Ideen?

Solutions Collecting From Web of "get_terms – name__like eine Zahl"

Wenn Sie die functionsdefinition get_terms , wird der Wert für name__like folgt an die SQL-Abfrage übergeben:

 " AND t.name LIKE '{$name__like}%'" 

Daher glaube ich, dass Sie nur nach einer der Nummern suchen können.

Als eine alternative Strategie könnten Sie die Zahlen, die Sie aus der database ziehen möchten, durchlaufen:

 $terms = array(); $numbers = range( 1, 6 ); foreach ( $numbers as $number ) $terms[] = get_terms( 'movies', array( 'name__like' => $number ) ); 

Als eine weitere Alternative könnten Sie alle diese Begriffe so definieren, dass Sie ein Kind mit einem anderen Begriff bekommen möchten. Wenn Sie beispielsweise einen übergeordneten Begriff namens “Numbers” mit der ID 5 erstellen und alle “nummerierten” Begriffe als untergeordnetes Element dieses Begriffs zuweisen, könnten Sie Folgendes tun:

 get_terms( 'movies', array( 'parent' => 5 ) ); 

Offensichtlich hängt der Erfolg beider Strategien von Ihrem Anwendungsfall ab. Die erste Alternative ist ziemlich teuer, aber mit einer netten Cache-Strategie sollte wirklich kein Problem sein. Die zweite Methode erfordert eine andere Strukturierung der Daten, die für Ihre Situation funktionieren kann oder auch nicht.