Komma getrennte Steuerbegriffe, mit “und” vor dem letzten Punkt

Ich habe eine Taxonomie namens “location”. Ich gebe eine kommagetrennte Liste dieser Taxonomiebegriffe für einen Beitrag aus. Das ist in Ordnung, aber ich weiß nicht, wie man die vorletzten und letzten Einträge mit “und” statt mit einem Komma teilen soll.

Hier ist mein Code. Gibt es eine Möglichkeit, den Zähler zu benutzen?

$locations = get_the_terms($post->ID, 'location'); $locations = array_values($locations); for($cat_count=0; $cat_countname; if ($cat_count<count($locations)-1){ echo ', '; } } 

Hinweis: Dieser Code befindet sich in der Seitenleiste für eine Kategoriearchivvorlage und in einer WP_Query, also in der Schleife. WP_Query gibt mehrere Posts eines benutzerdefinierten Posttyps mit dem Namen “Projects” aus, und ich versuche, die Steuerbezeichnungen für die einzelnen Standorte aufzulisten.

Solutions Collecting From Web of "Komma getrennte Steuerbegriffe, mit “und” vor dem letzten Punkt"

So sollte Ihr Code aussehen wie ich einige Kommentare hinzugefügt habe, damit Sie seine einfache Programmierung nicht wirklich wordpressbezogen verstehen.

 $locations = get_the_terms($post->ID, 'location'); $locations = array_values($locations); $total_locations = count($locations); // the total start from 1 for($i = 0; $i < $total_locations; $i++) { echo $locations[$i]; // echo the location if($i < $total_locations-2) { // so for comma you need to check if the for loop variable is - 2 because the loop start from 0 echo ', '; // echo comma } elseif($i < $total_locations-1) { // and here is just -1 because you want to print it before the last one because this we use the less than sign in both of our conditions echo ' and '; // echo and } } 

Sie sollten das Fragment in Ihrem Code ersetzen, der das Komma wie folgt enthält:

 if ($cat_count 

Dadurch wird nach allen Elementen des Arrays ein Komma ausgegeben, mit Ausnahme der letzten und vorletzten Elemente.

Elemente im Array haben Indizes von 0 bis "count ($ locations) -1".

Element vor dem letzten hat Indexzahl ($ locations) -2. Nach diesem Element gibt der Code "und" aus.