Abfrage Anzahl der geladenen Beiträge in Schleife

Ich lade Beiträge über eine Abfrage einer benutzerdefinierten Taxonomie namens ‘Band’:

$args = array( 'tax_query' => array( array( 'taxonomy' => 'band', 'field' => 'slug', 'terms' => array('learn', 'trade', 'invest', 'spend') ) ), 'post_type' => 'post', 'showposts' => 50 ); 

Da einige Bands weniger Inhalt haben als andere, sind am Ende der Schleife viele und nur ein paar andere übrig. Um den Inhalt auszugleichen, möchte ich das Ende meiner Schleife erreichen und etwas fragen mögen:

 if( number of posts in band 'learn' <= 6 ) { #load more learn posts } 

Mit dieser Methode hoffe ich, meine letzten 50 Beiträge zu bekommen, aber dann stelle sicher, dass ich mindestens sechs in jeder Band habe. Ich benutze Isotope, um das Mauerwerk zu filtern. Wenn der Benutzer also den Filterknopf ‘Lernen’ drückt, möchte ich garantieren, dass die gefilterten Ergebnisse eine minimale Anzahl von Posts in jedem ‘Band’ finden.

Solutions Collecting From Web of "Abfrage Anzahl der geladenen Beiträge in Schleife"

Die wörtliche Umsetzung wäre:

  1. Erstellen Sie eine Array-Variable
  2. Während des Schleifens fügen Sie die ID jedes Posts hinzu, indem Sie den Termnamen als Schlüssel verwenden (Sie haben also ein Array von Arrays)
  3. Überprüfen Sie nach der Hauptschleife das Array und post__not_in bei Bedarf weitere Posts ab, indem Sie gespeicherte IDs für post__not_in sodass keine Duplikate vorhanden sind

Syntax wird in etwa so aussehen:

 $post_counts = array( 'learn' => array() ); // append ID, $post_counts['learn'] will hold array of IDs $post_counts['learn'][] = $post_id; 

Es könnte jedoch sinnvoll sein, Begriffe durchzulaufen und jeweils sechs Beiträge abzurufen. Es wird wahrscheinlich nicht wesentlich schwerer rechenintensiv sein, aber es wird einfacher und einfacher sein, die Logik aufrechtzuerhalten.