Как сделать необязательным заголовок виджета wordpress?

Ссылка скопирована
1 ответ

Всем привет, народ подскажите пожалуйста, вот есть сайт на вордпресс. Я подключил виджет сторонний, и когда размещаю его в сайдбаре у него обязательно выводится заголовок в , даже если оставляю поле пустым то див всё равно подгружается. Подскажите как можно его сделать необязательным полем?

Использую вариант

add_filter('widget_title', 'widgettitle_off'); function widgettitle_off( $title ) {     if (empty($title)) return '';     if ($title[0] == '!') return '';     return $title; }

add_filter('widget_title', 'widgettitle_off'); function widgettitle_off( $title ) { if (empty($title)) return ''; if ($title[0] == '!') return ''; return $title; }

Ничего не меняется.

Дополнительно:

так прячь его через css display: none и все ) зачем убирать html?

Опять же если сильно нужно можешь свой widget сделать с любым html

https://codex.wordpress.org/Widgets_API#Example

  • Я подключил виджет сторонний

    Смотрите код или документацию этого стороннего виджета

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Анна SEO Ответ

    Фильтр widget_title меняет только текст заголовка, но не обязан убирать HTML-обёртку, которую выводит сайдбар или сам сторонний виджет. Если тема печатает before_title и after_title даже при пустом заголовке, вы будете видеть пустой блок.

    Сначала посмотрите, откуда берётся разметка: из register_sidebar() в теме или из кода конкретного виджета. В теме это может выглядеть так:

    register_sidebar([
        'name' => 'Sidebar',
        'before_widget' => '<div class="widget">',
        'after_widget'  => '</div>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ]);

    register_sidebar([ 'name' => 'Sidebar', 'before_widget' => '<div class="widget">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ]);

    Если нужно убрать именно пустые заголовки, проще всего скрыть пустую обёртку CSS:

    .widget-title:empty {
        display: none;
    }

    .widget-title:empty { display: none; }

    Если сторонний виджет всегда выводит свой div независимо от WordPress title, фильтр widget_title не поможет. Тогда варианты такие: настройка самого виджета, переопределение шаблона виджета, свой виджет через Widgets API или точечный CSS. Для визуальной проблемы CSS нормален; для чистоты HTML придётся менять место генерации разметки.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно