kaxigt.com

Jag skriver om webben för webben

Lista posterna med WP-query

Postad: 20 februari 2009 | Wordpress | No Comments
Lästid: < 1 minut

Du kanske bara vill visa de senaste posterna från en specifik kategori eller dela varje kategori för sig?

Denna post innehåller kod-snippar som du kan använda. Det är alltid bra att ta en backup av din stilmall och funktionsfil innan.

Med några enkla querystrings kan man åstadkomma en hel del roliga saker till sin WordPress. Istället för att använda den traditionella php-koden <?php get_archives(’postbypost’); ?> så ska vi använda samma koder som man ofta använder i en Magazinelayout, det vill säga de koder som kallar på respektive kategori och bara just denna.

I det här fallet vill vi också bara ha rubrikerna så vi utesluter <?php the_content(); ?>. Listan kan man sedan infoga i sidebar om man vill eller göra ett arkiv för varje kategori.

Grundkoden

Låt oss säga att du enbart vill visa kategori Design – då skriver du i den första strängen in det specifika ID-nummer som kategori Design har.

Här har jag angett denna till ID 2 cat=2. Omedelbart efter ska du ange hur många poster (rubriker) som ska visas. Jag har ställt in dessa på 10 stycken showposts=10.

<?php $recent = new WP_Query("cat=2&showposts=10"); 
while($recent->have_posts()) : $recent->the_post();?>
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?>
</a>
<?php endwhile; ?>

Men vi vill ju lista alla poster

Ovanstående kod kommer inte att generera en lista om vi inte också anger detta, sätt därför in följande tecken:


<ul>
<?php $recent = new WP_Query("cat=2&showposts=10"); 
while($recent->have_posts()) : $recent->the_post();?>
<li><a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?>
</a></li>
<?php endwhile; ?>
</ul>

Sedan är det bara att stoppa in koden i din sidebar så får du en rubriklista på de senaste posterna i din valda kategor.