Parcurgerea simplă a articolelor

22 dec. 2011, 22:13:25
Vizualizări: 64.7K
Voturi: 9

Știu că este o întrebare de începător, dar nu reușesc să fac bucla să extragă articolele. Tot ce face este să extragă din pagina în sine.

Am creat un șablon și am adăugat bucla în el.

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

editare: aici este tot codul: http://pastebin.com/k2rDu53b

6
Comentarii

Dacă codul tău rulează deja în buclă, nu vei obține rezultatele așteptate. Unde rulează acest fragment de cod?

brandwaffle brandwaffle
22 dec. 2011 22:16:46

imediat după body, am crezut că acolo era bucla, have_posts...? sunt puțin confuz. iată tot codul: http://pastebin.com/k2rDu53b

user766607 user766607
22 dec. 2011 22:18:24

Mă refeream dacă erai deja în buclă și aveai acel cod acolo... dar nu e cazul oricum. Ce ieșire vezi pe pagină?

brandwaffle brandwaffle
22 dec. 2011 23:43:29

Tocmai am testat acest lucru pe instalarea mea locală de WordPress și afișează titlurile postărilor exact cum mă așteptam. Acest fișier se află în folderul temei tale și rulează ca temă activă, sau este încărcat în alt mod? Dacă este o temă, ai un fișier style.css cu cel puțin informațiile de bază definite acolo? http://codex.wordpress.org/Theme_Development#Template_Files_List

brandwaffle brandwaffle
22 dec. 2011 23:57:28

De ce ai tot codul de header în template? Mai bine folosește get_header(), dacă trebuie să difere de fișierul header principal, creează altul, de exemplu header-two.php cu codul și apelează-l în template, de exemplu get_header( 'two' )

t31os t31os
23 dec. 2011 14:25:48

O! Nu știam că poți folosi două headere. Asta e minunat. Mersi de pont.

user766607 user766607
27 dec. 2011 16:35:57
Arată celelalte 1 comentarii
Toate răspunsurile la întrebare 1
1
23

Deoarece te afli pe o pagină care va afișa doar interogarea pentru acea pagină, va trebui să creezi o nouă interogare pentru a aduce postările dorite. Înlocuiește bucla ta cu aceasta:

<?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
            }
        }
?>

Mai jos găsești informații suplimentare despre interogare: http://codex.wordpress.org/Class_Reference/WP_Query

23 dec. 2011 00:25:38
Comentarii

La final, ar trebui să resetezi interogarea cu wp_reset_postdata(); https://codex.wordpress.org/Function_Reference/wp_reset_query

jjj jjj
18 mar. 2017 18:00:17