Exclure une page de votre blog WordPress

20 commentaires
Exclure une page de votre blog WordPress
Pour un tas de raisons diverses, il peut être intéressant de masquer une page de votre blog WordPress.

Ainsi, via l’ajout d’un bout code très simple à utiliser, vous pourrez choisir d’exclure les pages de votre choix et empêcher qu’elle ne s’affiche dans la barre de navigation prévue à cet effet. Cette manipulation ne signifie pas pour autant que la ou les page(s) ne demeureront pas accessibles via le navigateur mais juste qu’elles seront invisibles de la liste des pages disponibles.

Commencez par vous connecter à l’administration de votre blog WordPress. Ensuite, rendez-vous l’Editeur de thème sous l’onglet Apparence.

Nous allons en effet intervenir dans le thème du blog ce qui signifie que vous devrez réitérer l’opération si vous envisagez de changer de thème graphique.

Recherchez à présent le bout de code suivant :

<?php wp_list_pages('title_li='); ?>

Pour une recherche plus efficace, ne sélectionnez que <?php wp_list_pages
puis utilisez la commande Ctrl + F du navigateur. Je vous conseille d’utiliser Firefox qui permet de rechercher instantanément dès lors que vous saisissez les premiers caractères.

La localisation du code ci-dessous diffère selon le thème utilisé. Tout dépend, en effet, de l’endroit où sont listées les pages sur le thème (en tête, colonne latérale, etc.). Dans le thème standard (K2) de WordPress, vous le trouverez dans le fichier sidebar.php, en français, Colonne latérale.

Capture d'écran - Editeur de thème WordPress
Capture d’écran – Editeur de thème WordPress

Une fois que vous aurez localisé le code en question, remplacez-le par ceci :

<?php wp_list_pages('exclude=1,2,3&title_li='); ?>

Les numéros correspondent tout simplement aux IDs de pages que vous pouvez identifier via la section Pages de l’onglet Gérer de WordPress.

Dans la liste des pages, passez le curseur de la souris sur le lien Publié de la colonne État pour la page que vous souhaitez exclure. Jetez un œil dans la barre d’état du navigateur puis identifiez le numéro de page.

Reportez ce dernier dans le code précédent. Vous pouvez exclure autant de pages que souhaitez tout en les séparant par des virgules.

Pour finir, ouvrez la page d’accueil de votre blog puis vérifiez que la ou les page(s) à exclure sont désormais masquées dans la barre de navigation.

Les tags PHP sont véritablement incontournables tant leurs possibilités sont infinies sous WordPress.

Par Aurélien Denis

Consultant & Développeur WordPress / WooCommerce. Un site à créer, à maintenir ou à débuguer ? Contactez-moi.

20 commentaires
  1. labodessavoirsMArc Ségur

    Salut merci pour cette astuce.
    Je me demandais s’il y avait une possibilité d’exclure l’apparition d’une page dans l’administration de wordpress.
    Je m’explique : je customise par exemple la page d’accueil, via des query_posts et je voudrais que cette page n’apparaisse pas dans la liste des pages disponibles dans l’administration. Elle ne sert à rien, du coup ca me permettrait d’enlever au maximum les éléments inuteils a afficher dans l’admin.
    Y a t-il a ta connaissance possibilité de faire ca (un peu comme faire disparaitre des éléments de l’admin dans la colonne de gauche….

    D’avance merci !

  2. Léa

    Petit souci : mon thème ne possède pas la ligne de code spécifiée :

    J’utilise le thème Twenty Eleven.
    Suis-je obligée d’utiliser un plugin ? :/

  3. Easynico

    sinon le plugin exclude pages…tout simplement

    1. Aurélien Denis auteur de l’article

      Dommage de passer par un plugin pour gérer l’inclusion ou l’exclusion de contenu sous WordPress. 🙂

  4. britain

    maintenant on peut le faire en passant par “Apparence” puis “Menu” grâce à la fonction “menu personnalisé”

    1. Aurélien Denis auteur de l’article

      A condition toutefois d’utiliser un menu de navigation – ce qui est le cas de la plupart des thèmes aujourd’hui. 😉

  5. Pat

    Ha enfin j’ai réussi, merci !

  6. libredutabac.com

    Ca fonctionne… Génial 😉 !

    Merci, Aurélien !

    Michael

    1. Aurélien Denis auteur de l’article

      Avec plaisir ! 😎

  7. Nico

    Bonjour Maigret !

    Dans le même genre d’idée que le sujet de cet article, je cherche à exclure certaines pages dans mon flux RSS (avant tout, je précise que j’utilise le plugin “RSS Includes Pages” pour inclure les pages de mon (futur) blog dans le flux RSS).

    J’ai parcouru le Codex et les Forums WP, sans succès.

    Des idées sur le sujet ?

    Merci,
    Nico

  8. 537718

    en fait j’ai fait exactement comme tu as dit
    merci

  9. 537718

    super merci, j’ai fait autrement
    un widget texte avec ça :
    ?php wp_list_bookmarks(‘exclude_category=9’); ?

  10. olivier

    @ 537718

    Il suffit de faire la même chose que pour les pages dans le fichier sidebar.php ( fonctionne avec la liste de catégorie de base mais je pense que ça s’adapte aussi à une liste custom)

    exemple :

    exclude =4 (4 est le nom de ta catégorie… si tu en a plusieurs tu mets des virgules et tu liste)

    hope this help

  11. Aurélien Denis

    @537718 : désolé du retard mais j’ai loupé ton commentaire. Si tu cherches toujours, fais-moi signe !

    @Beija : je vais voir ce que je peux faire mais je ne promet rien. 🙂

  12. Beija

    Heu… problème de structure, tout le php n’est pas passé.
    Si tu veux t’intéresser au sujet je peux te le passer par mail.
    Sinon, bah tant pis ^^

  13. Beija

    Salut!
    Je suis entrain de monté mon siteoueb et je suis tombé sur ton article mais il ne répond pas exactement à ma problématique.
    Je cherche à exclure une Page de ma barre de navigation, on va dire frontale, et non pas de celle de la sidebar
    Pas de wp_list_pages car ça se présente comme ça :

    get_results(“SELECT post_name, post_title, ID FROM $wpdb->posts WHERE post_type=’page'”);
    $getTitle=trim(wp_title(‘ ‘, false));
    $check=0;
    foreach($pages as $page){ ?>
    post_title);
    if($getTitle==$getPageTitle)
    {$check=1;}
    else
    {$check=0;}
    ?>

    <a href=”ID); ?>”>post_title; ?>
    <span class=”mpost_title; ?>”>

    Une idée?

  14. 537718

    salut
    moi je voudrais exclure une catégorie de liens de ma sidebar (widgetisée)
    quelqu’un saurait-il m’aider ?

  15. Aurélien Denis

    @jbj : oui c’est un bonne idée, je l’ajoute à la liste de mes prochains articles 😉

    @redpeppers : bien utile d’autant plus que sont des choses simples que l’on a bien souvent du mal à trouver sur le net ❗
    WordPress, + qu’un CMS ? Voila une question qui mériterait d’en débattre pendant plusieurs heures…

  16. redpeppers

    Oui c’est toujours utile de connaître ces petites astuces sous wordpress. ça sert peu pour les blogs (quoique) mais pour des utilisations spécifiques de wordpress c’est très utile !

    je sais pas vous, mais moi WordPress me fait de plus en plus penser à un framework en fait…. WordPress, + qu’un CMS ?
    🙂

  17. jbj

    Sympa ce petit tuto, tu devrais en faire d’autres avec les autres paramètres de wp_list_pages() et wp_list_categories(), qui fonctionnent pratiquement pareil.

Laisser un commentaire