Поддержка Проблемы и решения Добавить атрибут к элементу по его классу

  • Добрый день. Друзья, можно ли через function.php добавить такое?
    На странице есть разные элементы (div, span, section и т.д.) с разными классами, но указываются они по одному шаблону:
    «имя + подчеркивание + отрицательное_или_положительное_число«. Например, class_1, class_2, class_-22 и т.д. Классы добавляются через Гутенберг и конечно многие такие элементы имеют сразу несколько классов, но в каждом только один по вышеуказанному шаблону.

    Можно ли добавить к элементам с такими классами дополнительный атрибут? Например, если class=»class_-22″, то добавить в элемент атрибут datatime=»-22″, если class=»class_1″, то datatime=»1″ и т.д.

    Я понимаю как легко это сделать с помощью JS, но не хочется загромождать фронт, если можно сделать на бэке. Но возможно ли такое?

    ps Вообще, по сути, мне не нужны эти классы (class_1, class_2), а нужно как раз добавить только нужные допатрибуты, но Гутенберг не имеет такого функционала. Есть плагин «Attributes for Blocks», который делает то, что мне нужно, но его популярность низкая, не хочется подхватить заразу.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Yui

    (@fierevere)

    永子

    1. в репозиториях нет «заразы»
      https://wordpress.org/plugins/attributes-for-blocks/
      можете взглянуть на код https://plugins.svn.wordpress.org/attributes-for-blocks/trunk
    2. при обновлении темы ваш functions.php затрется новым
    3. зачем заново изобретать велосипед если есть плагин , который уже делает то, что надо?

    Спасибо за ответ!
    functions.php не затрётся, я использую дочернюю тему. Причину почему я не хочу использовать плагин я указал — не хочется подхватить заразу.

    Модератор Yuri

    (@yube)

    не хочется подхватить заразу.

    Ну, не знаю. С одной стороны, вероятность подхватить заразу от плагина из официального репозитария хоть и не нулевая, но всяко гораздо ниже, чем от плагина «с помойки». С другой стороны, если хакеры решат подсадить вирус в плагин, то чем плагин популярней, тем эффективней атака. Да и всегда можно посмотреть, что у плагина внутри (в том и прелесть open source!), чай не десятки мегабайт в тысячах файлов, как у вукоммерца.

    С одной стороны я с вами согласен, с другой — ну не будешь же лазить в исходники с каждым обновлением плагина. К тому же вероятность того, что малопопулярный плагин разработчик забросит довольно высока. При этом я понимаю, что если решение моего вопроса есть, то оно вряд ли на «тысячу строк». Поэтому сделал один раз и забыл)

    Поэтому сделал один раз и забыл)

    До следующего обновление ядра, где взяли и изменили несколько функций.
    Наколенная поделка положила сайт, а ты недоумеваешь, что же случилось, потому как забыл.

    Друзья, я всё понимаю, но не об этом же речь… Да и дочерняя тема для того и существует, чтобы добавлять свой функционал. Не хочу на эту тему дискутировать, ну реально…

    Да и дочерняя тема для того и существует, чтобы добавлять свой функционал.

    И снова ошибаешься.
    Любой новичек знает, что свой функционал добавляют путем написания своих плагинов.
    А дочерняя тема существует для внесения изменений внешнего вида родительской темы. Вся суть ВП в том, что за функционал отвечают плагины, а тема — это только верстка и внешний вид.

    …а отличие плагина от functions всего лишь а) в отдельных папке и файле, б) правильном текстовом заголовке файла

Просмотр 8 ответов — с 1 по 8 (всего 8)