Petit conseil filtres de nommage BEM et WordPress pour la navigation

La maintenance de CSS est difficile, en particulier dans les grands projets travaillant en équipe. Les conventions de dénomination peuvent aider votre CSS à être plus lisible et plus facile à maintenir. Dans cette astuce, nous verrons comment utiliser la méthode de dénomination BEM (Block Element Modifier) ​​dans WordPress..

Les systèmes de gestion de contenu tels que WordPress affichent les classes par défaut dans le balisage frontal. Dans WordPress, il existe de nombreux filtres pour modifier ces classes en sortie.

Si vous voulez plonger directement dans le code, voici un exemple de thème; les filtres peuvent être trouvés dans le fichier inc / functions-filters.php.

Qu'est-ce que BEM??

BEM signifie Block Element Modifier.

"BEM est une méthodologie qui vous aide à créer des composants réutilisables et à partager le code dans le développement frontal."
  • Une introduction à la méthodologie BEM

    BEM est synonyme de bloc-élément-modificateur et est une façon d'organiser le style et le balisage. Si vous avez déjà vu un nom de classe comme «header__form-email», c'est BEM dans…
    Josh Medeski
    HTML et CSS

Je vais utiliser le balisage de navigation comme exemple:

  • Bloc est une entité autonome qui a un sens en soi.
    • .menu …
  • Élément fait partie d'un bloc et est lié sémantiquement à son bloc.
    • .menu__items …
    • .élément du menu …
    • .menu__anchor …
  • Modificateur change l'apparence ou le comportement du bloc ou de l'élément.
    • .menu - primaire …
    • .menu__anchor - bouton …

Le balisage de navigation complet pourrait ressembler à ceci:

Les conventions de nommage telles que BEM maintiennent votre SASS et CSS à plat avec une faible spécificité (ce qui est toujours agréable!).

Dans SASS, vous appelez notre exemple comme ceci:

.menu … & __ items … & __ item … & __ anchor … & __ anchor - button …

Le CSS compilé ressemblerait à ceci:

.menu … menu__items … menu__item … menu__ancor … menu__anchor - bouton … 

Mais comment pourrions-nous changer les classes de navigation utilisées dans WordPress?

Utiliser les filtres WordPress pour changer les classes de navigation

Utilisation de la fonction intégrée de WordPress wp_nav_menu (), vous pouvez dicter des cours pour