Поддержка → Проблемы и решения → Убрать сайдбар при остутствии виджетов в нём
Убрать сайдбар при остутствии виджетов в нём
-
Как убрать сайдбар при остутствии виджетов в нём?
Проблема в том, на страницах записей, сбоку, всё равно остаётся пустое место для него. Но совсем сносить, удалением строки в коде single, я не хочу.
Есть решение как-то «свернуть» его пространство через functions.php?
-
Как убрать сайдбар при остутствии виджетов в нём?
С помощью функции is_active_sidebar(). Пример:
<?php if ( is_active_sidebar( 'left-sidebar' ) ) : ?> <ul id="sidebar"> <?php dynamic_sidebar( 'left-sidebar' ); ?> </ul> <?php endif; ?>
Логика ясна. А как это реализовать в functions.php?
Я получил ошибку, когда вставил этот код в конец functions.php. Потом заметил отсутствие у functions.php него закрывающего «?>». Добавил. Потом вставил код ниже и ошибка исчезла. Но так как эффекта не последовало — пустое пространство сайдбара оставалось пустым и не замещалось содержимым страницы — заменил названия сайдбара своими, теми что в теме. Но ничего не изменилось.
Проверил, для чистоты эксперимента: убрал строку вызова сайдбара в single.php. Всё осталось так же: пустое пространство никуда не делось.
Как всё-таки сделать, через functions.php, так, чтобы контент страницы расползся на место убираемого сайдбара?
P.S. За ширину контента отвечает один айдишник в style.css. Если увеличить ему значение, то всё ок: контент расширяется, занимая пространство сайдбара. Даже, при добавлении виджетов, происходит всё так, как нужно: они сползают под контент.
Есть возможность добавить такое поведение для style.css в functions.php? Я бы хоть глянул — как это в принципе делается, был бы мне прогресс в изучении.
За ширину контента отвечает один айдишник в style.css. Если увеличить ему значение, то всё ок: контент расширяется, занимая пространство сайдбара.
Значит, нужно в шаблоне в зависимости от значения
is_active_sidebar()
присваивать блоку с контентом ID или класс с нужной шириной.functions.php
в этом процессе никак не участвует.ок
- Тема «Убрать сайдбар при остутствии виджетов в нём» закрыта для новых ответов.