Suggerimento rapido denominazione BEM e filtri WordPress per la navigazione

Mantenere i CSS è difficile, specialmente nei progetti più grandi che lavorano con un team. Le convenzioni sui nomi possono aiutare i CSS a essere più leggibili e più facili da mantenere. In questo suggerimento rapido vedremo come utilizzare la metodologia di denominazione BEM (Block Element Modifier) ​​in WordPress.

Sistemi di gestione dei contenuti come le classi predefinite di output di WordPress nel markup front-end. In WordPress ci sono molti filtri per modificare queste classi emesse.

Se vuoi immergerti direttamente nel codice, ecco un esempio del mio tema; i filtri possono essere trovati nel file inc / functions-filters.php.

Cos'è BEM?

BEM è l'acronimo di Block Element Modifier.

"BEM è una metodologia che ti aiuta a creare componenti riutilizzabili e la condivisione del codice nello sviluppo front-end."
  • Un'introduzione alla metodologia BEM

    BEM è l'acronimo di Block-Element-Modifier ed è un modo di organizzare lo stile e il markup. Se hai mai visto un nome di classe come "header__form-email" che è BEM in ...
    Josh Medeski
    HTML e CSS

Userò il markup di navigazione come esempio:

  • Bloccare è un'entità indipendente che ha un significato per se stessa.
    • .menu ...
  • Elemento fa parte di un blocco ed è semanticamente legato al suo blocco.
    • .voci del menu …
    • .elemento del menu …
    • .menu__anchor ...
  • Modificatore cambia il blocco o l'aspetto o il comportamento dell'elemento.
    • .menu - primary ...
    • .menu__anchor - button ...

Il markup di navigazione completo potrebbe essere simile a questo:

Le convenzioni di denominazione come BEM mantengono il vostro SASS e CSS piatto con bassa specificità (che è sempre bello!).

In SASS devi dare un esempio al nostro esempio:

.menu ... & __ articoli ... & __ articolo ... & __ ancora ... e __ ancora - pulsante ...

Il CSS compilato sarebbe simile a questo:

.menu ... menu__items ... menu__item ... menu__anchor ... menu__anchor - pulsante ... 

Ma come potremmo cambiare le classi di navigazione utilizzate in WordPress?

Utilizzo di filtri WordPress per modificare le classi di navigazione

Usando la funzione integrata di WordPress wp_nav_menu (), puoi dettare le classi per