- WordPress :6.4
- Statut : résolu
- Ce sujet contient 25 réponses, 2 participants et a été mis à jour pour la dernière fois par
ferman, le il y a 10 mois et 3 semaines.
-
AuteurMessages
-
13 juin 2024 à 12 h 37 min #2474682
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL :
- Thème utilisé : Twenty Seventeen
- Extensions en place :
- Nom de l’hébergeur : LWS
- Adresse du site : ajmphoto.fr
Problème(s) rencontré(s) : Bonjour,
Notre site comporte des pages perso gérées par nos membres (ici dans https://ajmphoto.fr/galerie) qui les mettent parfois hors ligne pour les travailler. Existe-t-il un moyen pour que ces pages hors ligne disparaissent du menu automatiquement, afin d’éviter que les visiteurs tombent sur un message d’erreur ? (je devrais peut-être poser la question dans la section plugin ?
merci13 juin 2024 à 19 h 26 min #2474689Bonjour,
Avez-vous beaucoup de membres possédant une page perso et susceptibles de la mettre hors ligne (en brouillon)? Il y a des extensions permettant d’enlever de manière conditionnelle un ou plusieurs éléments du menu mais je n’ai pas vu la condition « si l’article est un brouillon ». Si vous êtes intéressé, je pense que c’est possible avec quelques lignes de code (PHP).
16 juin 2024 à 12 h 09 min #2474762Bonjour,
Nous avons une trentaine de pages qui sont susceptibles d’être en brouillon et ne devraient pas apparaître dans le menu.
16 juin 2024 à 15 h 16 min #2474763Bonjour,
Essayez ce code (à coller/copier dans le fichier functions.php d’un thème enfant. Si vous n’avez pas de thème enfant, vous pouvez en créer un en 5 minutes avec cette extension. Si vous ne voulez pas de thème enfant, vous pouvez utiliser une extension telle que « code snippets »
function enlever_du_menu_si_brouillon($items) {
$getdrafts = get_posts (['post_type' => 'page',
'post_status' => 'draft'
]);
$getdrafts_title = (wp_list_pluck( $getdrafts, 'post_title' ));
foreach ($items as $key => $item) {
if (in_array($item->title , $getdrafts_title)) {
unset($items[$key]);
}
}
return $items;
}
add_filter('wp_nav_menu_objects', 'enlever_du_menu_si_brouillon');18 juin 2024 à 17 h 57 min #2474893Je l’ai installé avec Code Snippets: c’est génial !
merci
21 juin 2024 à 15 h 58 min #2475052Bonjour,
Je déterre ce sujet car un problème apparaît. Lorsque je mets en mode brouillon une page qui s’appelait …/titre-de-la-page, elle ne disparaît pas et apparaît désormais en …/page-ID . Elle reste visible avec cette URL sur le site.21 juin 2024 à 19 h 04 min #2475064Bonjour,
Quand vous ajoutez le code, la page brouillon disparaît du menu mais ne disparaît pas du site pour autant (heureusement autrement elle serait supprimée). Vous pouvez donc la trouver si vous connaissez son url. De plus, les pages brouillon apparaissent sous la forme « ?p=1234 ». Apparemment c’est le comportement normal (je l’ignorais). Ou alors je n’ai pas bien compris le problème?
21 juin 2024 à 19 h 17 min #2475065Bonjour,
D’accord pour l’explication de la page qui subsiste avec page_id en mode brouillon, mais du coup le menu tente d’afficher cette url, d’où message d’erreur. On dirait que le code a bien supprimé la page avec le nom du post, mais que celle-ci réapparait avec le nom du brouillon dans le menu (d’où message d’erreur ?
21 juin 2024 à 20 h 05 min #2475067Bizarre, je n’observe pas ce comportement. Si je passe une page du menu en brouillon, elle reste au menu avec le statut 404. Si j’active le code elle disparaît du menu et ne cherche pas à réapparaître. Pouvez-vous recréer le problème pour une page et mettre en ligne pour que je puisse essayer de voir ce qui se passe?
21 juin 2024 à 20 h 24 min #2475068La page ajmphoto.fr/galerie/luc-fruchter est en mode brouillon et apparait sous https://ajmphoto.fr/?page_id=48 en erreur (cf copie d’écran). Le code est activé.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.21 juin 2024 à 20 h 25 min #2475071capture…
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.21 juin 2024 à 20 h 48 min #2475073Bon, pour être sûr, je viens d’essayer avec twenty seventeen et code snippets (auparavant j’avais utilisé un thème enfant de mon thème) et le résultat est le même. Après avoir introduit le code dans code snippes, vous avez bien enregistré les changements?
21 juin 2024 à 21 h 00 min #2475074Voici le menu tel qu’il apparaît dans WP/apparence/menu et celui du site en ligne.
Comme on peut le voir, le code a bien supprimé certaines pages, mais à la suite de je ne sais quel changement d’URL, elle réapparaissent même en brouillon. Je peux vous envoyer un ID admin du site en privé, si vous voulez.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.22 juin 2024 à 1 h 06 min #2475105Ce que vous montrez sur la copie d’écran « capture-2 » est ce que l’on voit quand le code n’est pas activé. Si vous voyez ça après avoir mis le code, c’est qu’il n’a pas fonctionné et je ne comprends pas pourquoi. J’essaierai de voir ça demain. Pour le moment c’est mystérieux.
22 juin 2024 à 10 h 39 min #2475112Je ne crois pas. Ci-jointe la comparaison entre site en ligne et menu de WP: on voit bien que certaines pages ont été éliminées du menu, preuve que le code est bien actif. Les pages fautives sont toutes chargées avec l’URL page_ID.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints. -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.