Menu déroulant en fonction du parent

Résolu/Fermé
CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020 - 26 févr. 2015 à 13:40
CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020 - 3 mars 2015 à 13:12
Bonjour à tous,
On me demande de réaliser un menu spécifique sous wordpress, et je n'ai aucune idée de comment m'y prendre.

On me demande de réaliser un menu accordéon à placer à coté du contenu sur chaque page. Ca, ca va, il y a plein de plugins qui me permettent de le faire.
Le soucis, c'est que ce menu dépend de la catégorie dans laquelle on se trouve, car il doit n'afficher que les pages de cette même catégorie.
De plus, le menu doit se dérouler automatiquement lorsque l'on rentre dans une page afin de montrer les enfants de cette page.

En gros, pour donner un exemple concret, quand je suis dans la catégorie "Formations", le menu reprenant toutes les pages enfant de premier niveau de cette catégorie s'affiche à droite de chaque page. C'est à dire les enfants de "Formations" mais pas les enfants des enfants. Quand je clique sur une page de "Formations", comme par exemple "Licences", je passe alors sur la page "Licences" et le menu à droite, tout en reprenant l'ensemble des pages de "Formation", doit afficher les enfants de "Licences".

J'ai actuellement un menu qui me liste les enfants de la page en cours, mais je ne sais pas comment afficher toute la catégorie via cette fonction lorsque je suis sur l'enfant d'un enfant.
Quant aux plugins de menus déroulants, ils offrent certes la possibilité de déterminer la page active pour dérouler son menu, mais ils fonctionnent en étant assignés d'un menu pré-fait et ne reprennent donc pas la liste des pages de la catégorie (ce qui, dans le pire des cas, peut être réglé en créant le menu adéquat) mais, surtout, je ne sais pas comment faire pour que ce menu change en fonction de la catégorie dans laquelle on se trouve.....

Il me faudrait donc une astuce quelconque pour pouvoir réaliser ca.... Qu'il s'agisse d'un plugin, d'un code JS, d'une astuce CSS.... Peut-importe. Je n'y connais pas grand chose, mais je peux plonger dans les fichiers de thème!

Un grand merci à quiconque pourra m'aider....


A voir également:

1 réponse

elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 1 325
Modifié par elgazar le 26/02/2015 à 15:05
Tu peux utiliser les marqueurs conditionnels qui permettent de faire apparaitre un élément (dans ton cas un menu personnalisé) en fonction de la page affichée

codex.wordpress.org/fr:Marqueurs_conditionnels
0
CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020 40
26 févr. 2015 à 15:18
Merci pour votre réponse! Ces marqueurs ont l'air utiles en effet, je ne les connaissais pas....
Je ne suis pas certain de leur utilisation cependant.

Je suppose que ca doit ressembler à cela?

<?php if(is_category( '40' ))
{
[shortcode du plugin menu]
}?>

Malheureusement ca ne m'affiche rien...
0
elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 1 325 > CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020
26 févr. 2015 à 16:25
essaye
if ( is_page(40) ) { 
echo do_shortcode( nomdushortcode ) }
0
CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020 40 > elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021
27 févr. 2015 à 09:21
En fait, même si je met echo "coucou"; ca ne marche pas...
0
elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 1 325
27 févr. 2015 à 11:03
tu dois le mettre dans le code du fichier.php (et pas dans un widget) en suivant les explications du codex

<?php
if ( is_page() {
echo do_shortcode('[nomdushortcode]');
} ?>
0
CytosineR Messages postés 118 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 20 mars 2020 40 > elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021
27 févr. 2015 à 15:53
C'est ce que je fais, mais ca me plante toute la page....
0