Sugerencia rápida BEM Naming y filtros de WordPress para la navegación

Mantener CSS es difícil, especialmente en proyectos más grandes que trabajan con un equipo. Las convenciones de nomenclatura pueden ayudar a que su CSS sea más legible y más fácil de mantener. En esta sugerencia rápida veremos cómo usar la metodología de nomenclatura BEM (modificador de elemento de bloque) en WordPress.

Los sistemas de administración de contenido como las clases predeterminadas de salida de WordPress en el marcado de aplicaciones para usuario. En WordPress hay muchos filtros para modificar estas clases generadas..

Si desea sumergirse directamente en el código, aquí hay un ejemplo de mi tema; Los filtros se pueden encontrar en el archivo inc / functions-filters.php.

Que es bem?

BEM significa modificador de elemento de bloque.

"BEM es una metodología que lo ayuda a crear componentes reutilizables y el uso compartido de código en el desarrollo frontal".
  • Una introducción a la metodología BEM

    BEM significa Block-Element-Modifier y es una forma de organizar el estilo y el marcado. Si alguna vez has visto un nombre de clase como "header__form-email" es BEM en ...
    Josh Medeski
    HTML y CSS

Usaré el marcado de navegación como ejemplo:

  • Bloquear es una entidad independiente que es significativa por sí misma.
    • .menú …
  • Elemento Es parte de un bloque y está semánticamente ligado a su bloque..
    • .elementos de menú …
    • .opción del menú …
    • .menu__anchor …
  • Modificador Cambia la apariencia o comportamiento del bloque o elemento..
    • .menú - primario …
    • .menu__anchor - botón …

El marcado de navegación completo podría verse así:

Las convenciones de nomenclatura como BEM mantienen su SASS y CSS planos con baja especificidad (¡lo que siempre es bueno!).

En SASS tu estilo nuestro ejemplo como este:

.menú … y __ elementos … y __ elemento … y __ ancla … y __ ancla - botón …

El CSS compilado se vería así:

.menu ... menu__items ... menu__item ... menu__anchor ... menu__anchor - button ... 

Pero, ¿cómo podríamos cambiar las clases de navegación utilizadas en WordPress??

Usando los filtros de WordPress para cambiar las clases de navegación

Usando la función incorporada de WordPress wp_nav_menu (), puedes dictar clases para