Hinzufügen von Post-Zählen zu Menü (Nav) programmgesteuert?

Ich bin ziemlich ratlos.

Ohne zu abfragespezifisch zu werden, fragte ich mich, welchen Weg man nehmen könnte, um ein Menü zu erzeugen, das zu einer Kategorie von Posts verlinkt und in Klammern anzeigt, wie viele neue Posts es gibt.

Beispiel:

Nachrichten (5 neu)
Artikel (8 neu)

…und so weiter.

Was ist der effizienteste Weg, dies zu erreichen, ohne eine Million Abfragen auszuführen?

Solutions Collecting From Web of "Hinzufügen von Post-Zählen zu Menü (Nav) programmgesteuert?"

WordPress ‘get_categories () – function gibt ein Array von Kategorie-Objekten zurück, von denen jedes eine “count” -Eigenschaft für die Anzahl der Beiträge in dieser Kategorie hat. So etwas wie folgt erhalten Sie eine Liste von Links zu Kategorieseiten:

$categories = get_categories(); $markup = '
    '; foreach( $categories as $category ) { $catName = $category->category_nicename; $count = $category->count; $url = get_category_link( $category->cat_ID ); $markup .= '
  • '; $markup .= "{$catName} ({$count})"; $markup .= '
  • '; } $markup .= '
';

Das würde Ihnen erlauben, eine Zählung mit einer einzigen Abfrage anzuzeigen. Ich bin mir sicher, dass es eine Möglichkeit gibt, eine Anzahl von “neuen” Beiträgen zu finden, indem eine komplexere benutzerdefinierte Abfrage anstelle von get_categories () verwendet wird, aber ich würde wahrscheinlich jeden zusätzlichen Aufwand für eine weitere Abfrage für jede Kategorie aufwenden um alles in einer einzigen Abfrage zu erledigen. Nenn mich faul.

Wenn Sie wp_list_categories aufrufen und den Parameter 'show_count'=> 1 hinzufügen, wird die Anzahl der Posts in jeder Kategorie in Klammern zurückgegeben.

WP_Query Sie eine WP_Query möchten, sollten Sie die WP_Query in WP_Query .