Exclure un article de la rotation d’article

Il arrive parfois que le besoin d’exclure un article de la rotation d’articles sur la page de blog de wordpress se fait sentir. Voici la la méthode pour  cacher un article sur la page d’accueil et uniquement sur celle-ci. Votre article sera toujours présent dans la page de catégorie ou dans le widget des articles récents et, bien entendu, votre article sera toujours visible directement en tapant son url.

Comme il s’agit d’une modification du code de votre thème, je vous conseille de créer un thème enfant sous peine de voir cette modification disparaitre à la prochaine mise à jour de votre graphisme.

Préparation avant d’exclure l’article

Avant tout, nous avons besoin d’un petit renseignement à savoir l’id de l’article que vous souhaitez enlever de la rotation. Pour cela, allez dans le menu articles=>tous les articles et recherchez l’article, passez le curseur de la souris sur le titre et vous verrez en bas à gauche de votre écran, l’adresse réelle de l’article qui s’affiche a peu près comme ceci

votresite.tld/wp-admin/post.php?post=691&action=edit

Notez le nombre qui apparait après post=, c’est l’id de votre article et nous allons en avoir besoin dans quelques instants

Lire aussi :  Marqueurs conditionnels de wordpress

Ouvrez maintenant le fichier functions.php de votre thème via apparence=>éditeur de thème ou directement en le téléchargeant via le ftp dans le dossier wp_content=>thèmes=>le nom de votre thème.

Le script pour exclure un article de la rotation

Copiez et collez ce code à la suite du code existant dans le fichier functions.php en remplaçant le nombre 691 par l’identifiant de votre article

function exclude_single_posts_home($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set('post__not_in', array(691));
}
}
add_action('pre_get_posts', 'exclude_single_posts_home');

Ce code indique simplement à wordpress que si il est sur la page home et qu’il y a un affichage des articles, il faut tous les afficher sauf l’article ayant l’identifiant 691.

Dès à présent, vous pouvez tester la modification (après l’avoir enregistrée) et vous constaterez que l’article a bien disparu de la rotation mais qu’il est toujours présent dans les pages de sa catégorie ou dans le widget articles récent si vous l’utilisez

.

Vous pouvez exclure autant d’articles que vous voulez de la rotation, il vous suffit de noter chaque identifiant et de les séparer par une virgule dans le code  comme ceci

$query->set('post__not_in', array(425,551,691));

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *