Code snippets

Een enkele sticky post tonen

Sticky posts zijn handig als je bijvoorbeeld op je homepage één post wilt tonen die blijft “plakken”, dus niet alleen de meest recente, maar een post of artikel die daar langere tijd moet blijven, ook al komen er nieuwere artikelen bij.

Je kan dit instellen bij het onderdeel “zichtbaarheid” van een post. Als je dit aanklikt, krijgt de post de eigenschap “sticky”.

We willen maar 1 post:

'posts_per_page' => 1,

Het is natuurlijk wel leuk als er ook iets komt te staan als er geen sticky posts zijn. Gewoon filteren op sticky posts gaat dan niet werken: dan zou je 0 resultaten kunnen krijgen.

Dus we vragen de sticky posts op, en als er wat in zit geven we dit mee aan de argumenten array:

$sticky = get_option('sticky_posts');
if ($sticky) $args['post__in'] = $sticky;

Je moet wel een kleine toevoeging doen die je misschien niet zou verwachten:  ignore_sticky_posts aan zetten. Doe je dat niet, dan krijg je alle sticky posts terug. Terwijl je (in dit geval) één resultaat wilt.

'ignore_sticky_posts' => 1,

Het eindresultaat wordt dan:

$args = array(
  'post_type' => 'post',
  'ignore_sticky_posts' => 1,
  'posts_per_page' => 1,
  'orderby' => 'date',
  'order' => 'desc');

$sticky = get_option('sticky_posts');
if ($sticky) $args['post__in'] = $sticky;
$loop = new WP_Query( $args );?>

 <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
  <a href="<?php the_permalink(); ?>">
    <h3><?php the_title(); ?></h3>
    <p><?php the_content()?></p>
 </a>

 <?php endwhile; wp_reset_query(); ?>

Related Articles

  • Bootstrap menu in WordPress gebruiken

    Bootstrap is een fantastisch framework om je website op te bouwen, maar om het goed te kunnen gebruiken moet je een paar dingen een beetje aanpassen. Het menu werkt bijvoorbeeld...
  • Een default thumbnail of featured image instellen in WordPress

    Het is soms vervelend als je mooie ontwerp om zeep geholpen wordt door het ontbreken van een afbeelding. Het kan zo zijn dat je hele ontwerp omvalt, omdat de gereserveerde...
  • Emails sturen in WordPress

    Voor een eenvoudig contactformulier kan ja het beste een plugin gebruiken. Contact form 7 bijvoorbeeld. Maar soms wil je wat meer maatwerk: een met een cronjob gegenereerde email (bijvoorbeeld elke...
  • Bij vorige volgende posts binnen dezelfde categorie blijven

    WordPress heeft een hoop functionaliteiten ingebouwd, zoals ook bijvoorbeeld de get_previous_post(), get_next_post(), of get_previous_post_link() functies. Maar wat als je de vorige (of volgende) post wilt van dezelfde categorie? Dat lijkt...

Laat een reactie achter