Hello!

Je cherche le moyen de sélectionner un élément dans une page particulière. Dans mon cas, je cherche à atteindre une sidebar présente dans une page précise car je souhaite lui appliquer un "display:none".

J'ai essayé bêtement d'utiliser sa classe... Mais elle change toutes les sidebar du site... Normal!

Comme les éléments Wordpress sont tous connectés les uns aux autres via des classes en pagaille, je me sens un peu perdu Smiley ohwell

Comment la sélectionner en CSS?

Merci pour les éclairages.
Bonjour Borg80,
A tu essayer de lui attribuer une Id ?

Tu peux avoir une ID et une Class sur un même élément exemple :


<p id="captionOff" class="textCaption">...</p>



.textCaption{
display: inline-block;
}

#captionOff{
display: none !important; 
/* Le facteur !important a la fin définie que l'attribut donné passe en priorité par rapport au reste du code. */
}


En espérant t'avoir aidé !

Bonne journée !
Modifié par Golderen (01 Jun 2016 - 12:08)
Est-ce vraiment une page au sens wordpress du terme ?

Si oui, on peut lui appliquer une template sans sidebar !

Ainsi, quand on est dans l'administration et plus particulièrement l'édition d'une page, à droite dans la sidebar, il y a le menu " Attributs de la page" puis dans cette partie une section Modèle !
Il suffit alors de définir un modèle sans sidebar. Pour se faire, si ce modèle de page n'existe pas, voir le modèle par défaut et lui supprimer la sidebar, en oubliant pas de changer sa définition en entête pour que wordpress comprenne que c'est un modèle de page.

C'est encore le plus simple et le plus propre car en effet votre sidebar sera toujours identique dans chaque page. Il y aurait une solution en codant mais ce serait bien moins propre et efficace.
@Golderen
@CAMEO172

Hey Smiley smile !

Il se trouve que c'est effectivement une page. Je vais don essayer de lui appliquer un template particulier comme suggéré par CAMEO172! Ce la devrai fonctionner.

merci à vous Smiley cligne
Vous pouvez aussi ajouter une classe sur le body en ajoutant la fonction WordPress body_class() :
<body <?php body_class( $class ); ?>>

Cette dernière générera une série de classe en fonction de la page où l'on se trouve.

Il vous suffit ensuite de faire un truc du genre :
.laClassGenereeParWpPourCettePage .laClassDeLaSidebar {
  display: none;
}


Je n'utilise plus cette fonction. En effet, je ne n'aime pas me fier a des solutions trop "wordpressiennes" : je trouve que le code généré n'est généralement pas propre, avec concrètement ici une profusion de classes inutile pour mes besoins. Je n'utilise plus non plus la technique qui consiste à cacher des éléments via css (ce qui est affiché est affiché). Mais ça peut toujours dépanner...
Modifié par Olivier C (01 Jun 2016 - 19:05)
le coup des class c'est vraiment bourrin.
Je ne suis aussi pas pour le coup d'un display none, c'est obliger le naviguant à charger de l'inutile et au serveur à envoyer cette inutilité.


wordpress a un système de template de page, il faut appliquer cette solution. C'est propre et simple !