У меня есть зарегистрированная боковая панель под названием «my-header», которая влияет на абсолютное позиционирование элементов под ней в разметке.
Поэтому мне нужно выполнить запрос в header.php, чтобы определить, присутствует ли боковая панель для текущего сообщения, и записать идентификатор класса в тег body моей темы. Я буду использовать этот класс css для соответствующей настройки абсолютного позиционирования элементов.
Есть ли метод, который можно вызвать отдельно от метода, используемого для отображения боковой панели, чтобы определить, есть ли в сообщении содержимое виджета для виджета «моя боковая панель»? Например, тот, который просто возвращает true/false?
После просмотра widgets.php я попытался использовать is_active_sidebar(‘my-header’), но он возвращает true для всех страниц. Мне нужна функция, которая принимает сообщение в качестве аргумента. В противном случае, если их не существует, я полагаю, что создам свою собственную функцию.
Вы можете взглянуть на плагин Justin Tadlock My Snippets, wordpress.org/extend/plugins/my-snippets.
@Manzabar: выглядит отлично. У меня было это в моем списке, чтобы добавить к моей теме в течение некоторого времени. Я ценю ссылку.
Не могли бы вы объяснить эту часть — если в сообщении есть содержимое виджета для виджета «my-sidebar». Посты и виджеты — это совершенно разные вещи, они не пересекаются, если только вы не используете какой-то настраиваемый контекстно-зависимый виджет.
Хотя я уверен, что если у вас есть body_class в теге body, то у вас уже есть необходимые классы CSS и селекторы, чтобы сделать это без кода PHP.