Scorrere attraverso i post in modo semplice

22 dic 2011, 22:13:25
Visualizzazioni: 64.7K
Voti: 9

So che questa è una domanda da principiante, ma non riesco a far sì che il loop estragga i post. Tutto quello che fa è estrarre dalla pagina stessa.

Ho creato un template e ho aggiunto il loop.

<?php
// Se ci sono post da mostrare
if( have_posts() ) {
  // Cicla attraverso i post
  while( have_posts() ) {
    the_post();
    ?>
    <h2><?php the_title(); ?></h2>
    <?php
  }
}
?>

modifica: ecco tutto il codice: http://pastebin.com/k2rDu53b

6
Commenti

Se il tuo codice è in esecuzione all'interno del loop, non otterrai i risultati attesi. Dove è eseguito questo snippet?

brandwaffle brandwaffle
22 dic 2011 22:16:46

subito dopo il body, pensavo che quello fosse il loop, il have_posts...? un po' confuso. ecco tutto il codice:http://pastebin.com/k2rDu53b

user766607 user766607
22 dic 2011 22:18:24

Intendevo se eri già nel loop, e poi avevi quel codice all'interno... comunque non è quello che sta succedendo. Qual è l'output che vedi sulla pagina?

brandwaffle brandwaffle
22 dic 2011 23:43:29

L'ho appena testato sulla mia installazione locale di WP e mostra i titoli dei post come mi aspetterei. Questo file si trova nella tua cartella del tema ed è in esecuzione come tema attivo, oppure viene caricato in altro modo? Se è un tema, hai un file style.css con almeno le informazioni di base definite al suo interno? http://codex.wordpress.org/Theme_Development#Template_Files_List

brandwaffle brandwaffle
22 dic 2011 23:57:28

Perché tutto questo codice di header nel template? Basta chiamare get_header(), se deve essere diverso dal file header principale, creane un altro es. header-two.php con il codice e chiamalo nel template, es. get_header( 'two' )

t31os t31os
23 dic 2011 14:25:48

Oh! Non sapevo si potessero fare due header. Fantastico. Grazie per il suggerimento.

user766607 user766607
27 dic 2011 16:35:57
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 1
1
23

Poiché ti trovi in una pagina che visualizzerà solo la query per quella specifica pagina. Di conseguenza, dovrai creare una nuova query per includere gli articoli che desideri. Sostituisci il tuo loop con questo:

<?php
    $args = array(
        'post_type' => 'post'
    );

    $post_query = new WP_Query($args);

    if($post_query->have_posts() ) {
        while($post_query->have_posts() ) {
            $post_query->the_post();
            ?>
            <h2><?php the_title(); ?></h2>
            <?php
            }
        }
?>

Qui trovi ulteriori informazioni sulla query: http://codex.wordpress.org/Class_Reference/WP_Query

23 dic 2011 00:25:38
Commenti

Alla fine, dovresti resettare la query con wp_reset_postdata(); https://codex.wordpress.org/Function_Reference/wp_reset_query

jjj jjj
18 mar 2017 18:00:17