La sintassi della funzione WordPress query_posts è la seguente

query_posts( array|string $query )

dove

$query è un campo richiesto
(array|string) che passa tutta una serie di valori reperiti come metodo della classe WP_Query

La funzione query_posts ritorna tutta una serie di valori messi in forma di array.

Entrando nello specifico è il metodo consigliato dagli sviluppatori di WordPress per la visualizzazione degli articoli.
Una sua possibile implementazione potrebbe essere

Per esempio se in ogni pagina archivio si vuole visualizzare solamente 5 post, bisognerà mettere

query_posts( 'posts_per_page=5' );

Oppure se si vuole escludere la categoria 5 e 6dalla home page si utilizza il codice

<?php
if ( is_home() ) {
 query_posts( 'cat=-5, -6' );
}
?>

Mentre bisogna fare attenzione alla funzione query_posts quando si ha a che fare con i cicli iterativi per esempio have_post() che conterranno i valori relativi alla query_posts se precedentemente eseguita per esempio

<?php
// voglio recuperare un articolo avente ID 5 quindi faccio


query_posts( 'p=5' );

// il valore della variabile dedicata $more a 0 indica al CMS che si vuole leggere unicamente la prima parte dell'articolo


global $more;
$more = 0;

// il Loop
while (have_posts()) : the_post();
 the_content( 'Leggi il contenuto articolo integrale »' );
endwhile;
?>

oppure se si vuole leggere unicamente il contenuto di una categoria magari un articolo per pagina dobbiamo inserire al posto della query iniziale la seguente

query_posts( array ( 'category_name' => 'la-mia-categoria', 'posts_per_page' => -1 ) );