Задать вопрос
fruity4pie
@fruity4pie
A

Как подружить BEM и WP?

Добрый вечер! Работаю в команде, тиммейт, который пишет на WP, жалуется, что когда все повешано на классы - это плохо:

<section class="sec1">
 <h1 class="title title_black">
 <p class="text text_with_some_css_style">
</section>


Говорит, что нужно вот так:
<section class="awesomeClass">
 <h1>
<p>
</section>


.awesomeClass h1
.awesomeClass p


Это слишком упрощенный вариант, потому что имея в проекте больше, чем 40-50 страниц, всё выливается в...........Предлагает все завязывать на 1 класс и заранее предусматривать возможные вариации: т.е. если во втором случае в секцию вставляется еще и UL, то он должен заранее быть застайлен в css:

.awesomeClass ul

Что делать, если параграфы или те же самые списки отличаются внутри секции ?? Делать так:
.someClass1 ul:first-child
.someClass1 ul:nth-child(2)


?????????????????????????????????
  • Вопрос задан
  • 773 просмотра
Подписаться 1 Средний 3 комментария
Решения вопроса 3
Vlad_IT
@Vlad_IT Куратор тега CSS
Front-end разработчик
Ну вообще, в WP почти все штуки, виджеты, меню и.т.д., всем им можно поменять шаблон и проблем не будет.
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
BB 8,
wp-мэйт просит чтобы у динамического контента не было КЛАССОВ ВООБЩЕ

Вот это ключевой момент. И в комментах вам уже написали, что проще ваш CSS поменять, нежели редактор WP. Технически, редактор WP научить можно. Но он сохраняет весь динамический контент в БД вместе с HTML (и классами). Это означает, что если вам понадобится класс переименовать, или добавить новый модификатор к "всем таким же блокам или элементам" - то вам придется лазить по всем старым записям и менять это там тоже. Что, разумеется, не очень ок.

Какие есть варианты? Всякие Visual Composer'ы, но они тоже сохраняют HTML в базу, поэтому риски те же. ACF и подобные решения для произвольных полей, которые позволят разбить контент на "блоки", и каждому блоку на выводе можете давать свой темплейт. Но если контента много, по нему надо искать и тд - опять же, вагон лишней работы бекендеру. Ради чего? Какой профит?

Есть надежда лишь на новый редактор, Gutenberg, который в этом году должен заменить TinyMCE. Там все на реакте, контент редактируется именно блоками, и каждый блок может иметь свой темплейт. По идее, это должно решить эту проблему раз и навсегда.
Ответ написан
@Programmist_Kolxozn1k
На сколько я понял вам нужно делать контентную област и задать там класс какой нибудь. А для того чтобы все это можно было с админки менять нужно уж стиллизовать все остальное по тегам например:

.inner-section - это облось секции в котором уже не будут теги с классом а будут так.

.inner-section h1
.inner-section h2
.inner-section h3
.inner-section h4
.inner-section p
.inner-section ul
.inner-section ol
.inner-section и т.д.

вот тут посмотрите на эту тему видео
ссылка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы