Mettre en avant des articles dans WordPress

#wordpress

La mise en avant d’article permet d’avoir une sélection d’article bien précis que vous avez défini

Pour activer la gestion des articles mis en avant avec WordPress (ou sticky posts en anglais) il faut ajouter ces lignes dans le fichier functions.php, qui se trouve à la racine de votre thème.

/* Display custom column */
function display_posts_stickiness( $column, $post_id ) {
 echo '<input type="checkbox" readonly', (is_sticky($post_id) ? ' checked' : ''), '/>';
}
add_action( 'manage_posts_custom_column' , 'display_posts_stickiness', 10, 2 );

/* Add custom column to post list */
function add_sticky_column($columns) {
 return array_merge( $columns, 
 array('sticky' => __('Sticky')) );
}
add_filter('manage_posts_columns' , 'add_sticky_column');

Ensuite, il suffit de modifier votre appel WP_Query comme dans l’exemple qui suit :

<?php
$mq = new WP_Query(array('showposts'=>5,'post__in'=>get_option('sticky_posts')));

Il ne vous reste plus qu’a mettre vos articles en avant :

Autre petite astuce, filtrer le WP_Query pour qu’il ne retourne que les articles déjà publiés et non ceux planifiés.

<?php
$mq = new WP_Query(array('post_status'=>'publish'));

Sur Printf.eu, cette astuce est utilisée dans le slide sur la home page.

Pour d’autre bout de code, c’est par ici.

Laisser un commentaire

2 commentaires

  1. Je débute doucement sur wordpress. Tu as un exemple quelque part pour que je puisse voir l’effet ?
    Merci

    0
    • Flox

      Oui, sur la page d’accueil, les articles dans le slider du haut sont séléctionnés selon ce principe, ce n’est pas un plugin.
      Bonne continuation.

      0