Snelle tip BEM benoemen en WordPress-filters voor navigatie

Het onderhouden van CSS is moeilijk, vooral in grotere projecten die met een team werken. Naamgevingsconventies kunnen uw CSS helpen leesbaarder en gemakkelijker te onderhouden te zijn. In deze snelle tip zullen we kijken naar hoe de BEM (Block Element Modifier) ​​naamgevingsmethode in WordPress gebruikt kan worden.

Contentbeheersystemen zoals standaardklassen voor WordPress-uitvoer in de front-endmarkering. In WordPress zijn er veel filters om deze uitgeschreven klassen aan te passen.

Als je direct in code wilt duiken, is hier een voorbeeldthema van mij; filters zijn te vinden in het bestand inc / functions-filters.php.

Wat is BEM?

BEM staat voor Block Element Modifier.

"BEM is een methodologie die u helpt bij het maken van herbruikbare componenten en het delen van codes in de front-end ontwikkeling."
  • Een inleiding tot de BEM-methodologie

    BEM staat voor Block-Element-Modifier en is een manier om stijl en markeringen te organiseren. Als je ooit een klassennaam hebt gezien als "header__form-email", is dat BEM in ...
    Josh Medeski
    HTML & CSS

Ik gebruik navigatie-opmaak als voorbeeld:

  • Blok is een op zichzelf staande entiteit die betekenisvol is.
    • .menu ...
  • Element maakt deel uit van een blok en is semantisch verbonden met zijn blok.
    • .menu items …
    • .menu onderdeel …
    • .menu__anchor ...
  • wijziger verandert het uiterlijk van het blok of element of gedrag.
    • .menu - primaire ...
    • .menu__anchor - knop ...

Volledige navigatie-opmaak ziet er als volgt uit:

Naamgevingsconventies zoals BEM houden je SASS en CSS plat met een lage specificiteit (wat altijd leuk is!).

In SASS zou je ons voorbeeld als volgt willen stylen:

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

De gecompileerde CSS ziet er als volgt uit:

.menu ... menu__items ... menu__item ... menu__anchor ... menu__anchor - knop ... 

Maar hoe kunnen we de navigatieklassen wijzigen die in WordPress worden gebruikt??

WordPress-filters gebruiken om navigatieklassen te wijzigen

De ingebouwde functie van WordPress gebruiken wp_nav_menu (), je kunt klassen dicteren