Obține ultimele 5 postări din tipul personalizat 'announcements'
Am un custom post type announcements
care evident conține postări cu anunțuri săptămânale.
În antetul temei mele, vreau să creez o casetă cu următoarea structură:
<div id="header-announcements">
<h3>Anunțuri</h3>
<ul>
<li><a href="post-permalink">Titlu</a></li>
<li><a href="post-permalink">Titlu</a></li>
<li><a href="post-permalink">Titlu</a></li>
<li><a href="post-permalink">Titlu</a></li>
<li><a href="post-permalink">Titlu</a></li>
</ul>
<div><a href="#">Vezi mai multe</a></div>
</div>
Știu că trebuie să folosesc wp_query()
și am aflat că ar trebui să fac ceva similar cu:
$ann_query = new WP_Query('post_type=announcements&posts_per_page=5');
Știu că trebuie să folosesc un foreach, dar nu am aprofundat suficient WordPress pentru a ști ce să fac după query.
Poți să mă ajuți?
Mulțumesc!

Următorul cod ar trebui să funcționeze, dar nu a fost testat:
<div id="header-announcements">
<h3>Anunțuri</h3>
<?php
$queryObject = new WP_Query( 'post_type=announcements&posts_per_page=5' );
// Bucla!
if ($queryObject->have_posts()) {
?>
<ul>
<?php
while ($queryObject->have_posts()) {
$queryObject->the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
}
?>
</ul>
<div><a href="#">Vezi mai multe</a></div>
<?php
}
?>
</div>

Mulțumesc mult! A funcționat perfect, dar când am copiat și lipit codul, a generat o eroare PHP, care a fost ușor de remediat prin adăugarea lui <?php
la linia 15 din blocul tău de cod. Mulțumesc din nou!

Hopa! Mersi că ai reparat asta. Așa mi se întâmplă când nu testez :)

Va trebui să folosești o buclă foreach deoarece această interogare returnează un array de obiecte. În interiorul acestei bucle poți folosi proprietățile acestor obiecte pentru a afișa datele. De exemplu, poți folosi:
$object->post_title, $object->post_content, $object->url
