Supprimer / modifier le préfixe des pages privées ou protégées de WordPress

WordPress propose en natif un système de gestion des pages privées et protégées.

Pour les différencier des pages en libre accès, un préfixe Privé ou Protégé vient s’ajouter dans le titre ce qui n’a rien de très élégant. Un hack PHP permet de masquer ce préfixe ou de modifier le texte par défaut de WordPress.

Supprimer les préfixes des pages à accès limité

Ouvrez le fichier functions.php présent dans le dossier /wp-content/themes/NOM_DU_THEME ou en passant par le menu Apparence puis Éditeur de votre administration WordPress.

function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protégé&:#', '#Privé&:#' ); $replacewith = array( ' ', // Préfixe pour les pages "Protégé :" ' ' // Préfixe pour les pages "Privé :" ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');

Si vous utilisez le thème Twenty Ten de WordPress, placez ces lignes de code en fin de fichier functions.php. Pour les autres, il est souvent nécessaire d’englober celles-ci de balises PHP selon ce modèle :

<?php CODE A INSERER ICI ?>

Modifier les préfixes des pages à accès limité

' ', // Préfixe pour les pages "Protégé :" ' ' // Préfixe pour les pages "Privé :"

Il vous suffit de modifier ces lignes en indiquant le préfixe de votre choix entre les apostrophes. La première ligne concerne les pages de type Protégé, la seconde les pages Privé.

Dites adieu aux préfixes encombrants et maîtrisez un peu plus votre site WordPress !

Par Aurélien Denis

Another WordPress fanboy. Fondateur de WordPress Channel et WP Alacarte, président de l'association WordPress Francophone (2016-2017) et WordPress Meet & eXchange, gérant de la société Neticpro, co-organisateur du WPMX Day et du WordCamp Bordeaux, et plus encore.

Des tutoriels et des bons plans en exclusivité !
  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.
15 commentaires
  1. Valentin

    Hey !
    Ah mais il y a beaucoup plus simple ^^

    J’avais cherché l’astuce une fois, mais en fait c’est tout simple. C’est le fichier « post-template » qui gère ça je crois, à vérifier… il y avais la fonction « private_title_format » pour afficher le texte « Privés » ou « Protégée ».

    Tu peux voir l’astuce ici –> http://www.geekeries.fr/snippet/modifier-attribut-prive-articles-wordpress/

    1. Aurélien Denis auteur de l’article

      Ah ! 🙂

      Et cela fonctionne aussi bien avec les pages protégées que privé ?

      1. Superbatros

        Pour l’avoir testé sur les pages type « Privé » ça fonctionne très bien, contrairement à votre astuce que je n’ai pas réussi à faire fonctionner (wordpress 3.3.1 avec le thème Traction Pro).
        Je n’ai pas testé sur les pages protégées. Merci en tout cas pour vos astuces !

  2. Coline

    9a ne fonctionne pas…
    J’ai collé :

    Et la seule chose que j’obtiens c’est :
    Privé : Accueil
    Et idem avec tous les accents dans tout mon site…

    1. Coline

      j’ai collé le bout de code que vous présentez

      (je ne sais pas pourquoi la copie du code complet ne s’est pas affiché dans mon premier message…)

    2. Coline

      Ok en fait la copie de code ne s’affiche pas.. tant pis.
      Enfin j’ai collé exactement le code que vous avez mis entre les balises php.
      et ça ne fonctionne pas…

  3. Coline

    Je viens également d’essayer la méthode de Valentin et j’obtiens exactement la même chose….
    :'(
    aidez-moiiii…

  4. Coline

    J’ai trouvé.
    Il y avait juste une phrase de code à enlever de la div id= »leftside » qui se trouvait dans header.php (car mon menu se trouve là …)
    c’est cette ligne qui cause la répétition :
    (j’ai enlevé les < en espérant que le code s'affiche)
    li class=" ?php echo $highlight; ? " a href=" ?php bloginfo('url'); ? " Accueil /a /li

  5. Coline

    TROUVé aussi pour enlever « privé » des titres :

    simplement changer ?php the_title(); ?
    par
    ?php echo $post->post_title; ?
    dans le modèle de page (page.php)

    Ca marche sans problème ! 🙂

  6. Michael

    Merci Aurelien pour cette BELLE video…

    … Mais, aaaahhrrg, ca ne marche pas du tout avec le theme utilise dans le blog…

    … en fait, je confirme, ce qui fonctionne bien, c’est la methode du « ?php echo $post->post_title; ? » de Coline, cf. commentaire juste ci-dessus 🙂

    Merci quoi qu’il en soit, ce « jeu de piste » passant par ton blog m’a permis de trouver la réponse 🙂 !

    Bien amicalement,
    Michael

  7. Cedric @ Blog Com'Coach

    Merci pour ces tutos et pour les suggestions des commentateurs.
    Malheureusement j’ai testé toutes ces méthodes et rien ne fonctionne.

    Il s’agit d’un thème Artisteer que j’essaie de modifier et aucune des méthodes énoncées ici ne semblent fonctionner. Quelqu’un a-t-il réussit cette manip avec un thème Artisteer ?

    Merci
    Cédric

  8. Cedric @ Blog Com'Coach

    Ah ! en fait j’ai trouvé : Pour un thème Artisteer c’est la manipulation de Coline ci-dessus mais il faut remplacer :

    get_the_title() PAR $post->post_title dans le fichier content-page.php.

    En tout cas pour Artisteer 3 ! En espérant que ça aide quelqu’un.

    Cédric

    1. sam

      hello cedric
      pourrais tu préciser d’avantage la manip stp?
      j’ai un theme artisteer 3 et ce privé m’agace prodigieusement aussi
      http://www.compenseo.fr

      A+

      1. Cedric @ Blog Com'Coach

        Bonsoir Sam,

        Il faut simplement suivre la manip de Coline :
        -Aller dans Apparence / Editeur du blog WP
        -Ouvrir le fichier content-page.php.
        -Remplacer : « get_the_title() » par « $post->post_title »
        -Enregistrer les changements

        De mémoire ca devrait fonctionner !
        Cédric

  9. momo-fr

    Bricole avec le code Php et le Thème Nevada… ça ne marche pas, méthode avec le filtre de Valentin marche très bien !

    Merci Valentin ! :p

Laisser un commentaire