Поддержка Проблемы и решения Как вставить виджет в div

  • Приветствую!
    В моей теме существуют несколько виджетов, которые создает сама тема.
    Они сделаны таким образом что их содержимое заворачивается в два div’a

    <div class="border-1 border">
    <div class="border-2 border">

    В div’ы плагины заворачиваются именно на этапе своего создания (то есть не в шаблонах темы, а в отдельных файлах, где виджеты создаютс)

    Если добавить в сайдбар сторонний виджет то он не будет в рамке.
    Скрин: https://prnt.sc/td7s76

    Показанный на скрине необведенный виджет начинается с
    <id="mailpoet_form-2"...>

    Вопрос: как правильно завернуть нужный виджет в два «рамочных» div’a, что написаны сверху?
    Вроде как есть параметры before_widget и after_widget, но я не могу придумать\написать функцию, которая изменяет эти параметры у нужного виджета.
    Подскажите

    Разумеется, разыскивается чистое решение, которое переживет обновление. То есть код, который вставляется в function.php или что-то вроде этого. Искать, где плагин регистрирует свой виджет и менять код в файлах плагина не хочется, т.к. первое же обновление убьет изменения

    Спасибо!

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • вставляется в function.php

    точно так же до первого обновления.
    Вообще изменения в любых файлах темы — до первого обновления.

    Кстати, вы знаете что скрины ценятся в инстаграме, а не на техническом форуме?

    Кстати, вы знаете что скрины ценятся в инстаграме, а не на техническом форуме?

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

    Вообще изменения в любых файлах темы — до первого обновления

    Я попытался максимально лаконично описать свой вопрос, опустив детали. Надеялся, что люди на техническом форуме в курсе про существование дочерних тем (в отличии от дочерних плагинов), function.php которых не обновляется.

    • Ответ изменён 3 года, 9 месяцев назад пользователем zzzt.

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

    1. С помощью function.php дочерней темы переопределить before_widget и after_widget для уже заданного темой сайдбара. Если я правильно понимаю тогда любой виджет будет обведен рамкой если начало div’a вставить в before_widget, а закрытие div’a — в after_widget

    2. Найти функцию\код, которая обернет в div конкретный виджет

    А еще наверное на техническом форуме ценятся сообщения по теме, а не пустые комментарии непонятно к чему.

    Вы действительно надеялись на какие-то другие комментарии не предоставив ни какой тех.информации, кроме картинки??? Вы серьезно??
    Скажите, вы случайно не знаете для чего нужно поле «Адрес страницы с которой нужна помощь»?

    Я попытался максимально лаконично описать свой вопрос, опустив детали.

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

    Надеялся, что люди на техническом форуме в курсе про существование дочерних тем

    Люди-то в курсе, да вот только не обладают даром мысли читать.
    Где у вас хоть слово про дочернюю тему?

    Модератор Yuri

    (@yube)

    Если один виджет выбивается из общей картины, то проще сделать его форк/клон, чтобы был как все.

    дочерних плагинов

    Можно об этом подробнее?

    Можно об этом подробнее?

    Это шутка… там в контексте мои слова о том, что дочерние темы существуют, а дочерние плагины нет =)

    Если один виджет выбивается из общей картины, то проще сделать его форк/клон, чтобы был как все.

    Я с трудом представляю, как склонировать виджет, который является частью давольно большого плагина. Я думал есть какие-то готовые решения, как встроить нужный код перед определенным виджетом. Если нет — буду думать…

    • Ответ изменён 3 года, 9 месяцев назад пользователем zzzt.
    Модератор Yuri

    (@yube)

    как склонировать виджет,

    Ctrl+C Ctrl+V 🙂

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

    И посмотрите хук ‘sidebars_widgets’ и глобальные переменные $wp_registered_sidebars и $wp_registered_widgets, может в там можно что-то подправить.

    Вместо простыни текста надо было спросить как обернуть div в двойную рамку и дать адрес сайта, выше tuxfighter написал.
    Функции и хуки для пары сток стилей тут не нужны, ИМХО

    Они сделаны таким образом что их содержимое заворачивается в два div

    ’a

    Можно использовать виджет Текст. Всравляете туда нужную информацию и указывете для него border: double ;

    добавить нужно будет в этот код толщину рамки и ее цвет. Эти параметры указаны в файле стилей.

    • Ответ изменён 3 года, 9 месяцев назад пользователем intman1958.
Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Как вставить виджет в div» закрыта для новых ответов.