web-dev-qa-db-fra.com

classe différente (css) pour les widgets de la barre latérale

Je veux ajouter différentes classes (CSS) dans les widgets dans la barre latérale du site.

Par exemple:

Premier widget dans la barre latérale -> class = sidebar-top1

Deuxième widget dans la barre latérale -> class = sidebar-top2

troisième widget dans la barre latérale -> class = sidebar-top3

i want to add class in <div> tag.

comment je peux faire?

1
mehdi

Découvrez ce message que j'ai écrit sur le forum wordpress.org ... il contient du code fonctionnel sur lequel vous pouvez travailler: http://wordpress.org/support/topic/how-to- first-and-last-css-classes-pour-sidebar-widgets

2
MathSmath

Quelle coïncidence, je viens de passer plusieurs heures à jouer avec les classes de widgets. Je ne publierai pas le code résultant car il contient des éléments plus complexes et hors contexte pour votre question. Voici les bases (ou peut-être "bases"):

  1. Le widget est passé par le crochet dynamic_sidebar_params.
  2. Les données du widget sont $params[0].
  3. Le nom de la barre latérale est $params[0]['name'].
  4. Le wrapper de widget d'ouverture est $params[0]['before_widget'].

Ainsi, vous pouvez filtrer ce crochet, rechercher la barre latérale que vous souhaitez modifier, garder une trace du nombre de widgets (probablement avec la variable static), modifier l’encapsuleur et renvoyer les paramètres de widget modifiés.

Je suis trop endormi pour écrire un code spécifique, laissez un commentaire si vous avez encore besoin d'aide pour cela et j'y reviendrai demain.

0
Rarst