web-dev-qa-db-de.com

Holen Sie sich alle IDs eines Beitragstyps mit WP_Query

Ich versuche, mithilfe von WP_Query eine Liste der IDs eines benutzerdefinierten Beitragstyps abzurufen, aber es wird ein unerwünschtes Ergebnis zurückgegeben. Dies ist ein Speicherverlust und ein blockierter Browser.

Hier ist der Code, den ich benutze:

    $the_query = new WP_Query("post_type=post&posts_per_page=-1&field=ids");    
    if ($the_query->have_posts()) {
      while ($the_query->have_posts()){
         echo get_the_ID();
      }
    }

Mein Browser versucht unendlich lange, die Seite zu laden. Vielleicht weiß jemand, was mit dem obigen Code nicht stimmt.

3
KeepMove

Ihnen fehlt der Funktionsaufruf the_post() in der Schleife. Einfach hinzufügen

$the_query->the_post();

in deiner Schleife. Abgesehen davon sollte Ihre Schleife funktionieren

BEARBEITEN

Sie sollten auch nicht vergessen, Ihre Postdaten nach Abschluss der Abfrage zurückzusetzen

3
Pieter Goosen

Ich weiß, dass Sie die Lösung "using WP_Query" wollen, aber warum nicht get_posts() dafür verwenden?

$posts_ids = get_posts('post_type=post&posts_per_page=-1&fields=ids');
// $posts_ids is now an array of IDs
echo implode(',', $posts_ids); // prints: 123, 124, 125, 126, ...

// or

foreach( $posts_ids as $id ) {
    echo $id;
}
4
Marek