Есть ли способ автоматически регистрировать виджеты, когда новый сайт регистрируется с настройкой нескольких сайтов? Например внутри wpmu_new_blog
?
grmУчитель
Как автоматически зарегистрировать виджеты в новом блоге?
Share
В файле вашей темы
functions.php
вы можете проверить, установлена ли она в первый раз в этом блоге. Это можно сделать с помощью опции. Параметр может быть установлен, чтобы пометить, что он устанавливается.Эта опция, которая сигнализирует о том, что установка неизбежна, может быть использована в хуке совместной работы, чтобы
init
пометить автоматическую регистрацию виджета. Виджеты можно зарегистрировать с помощью wp_set_sidebars_widgets(). После того, как это будет сделано, убейте флаг.Имейте в виду, что переключение тем убивает конфигурацию виджетов. Так что это только для первого использования.
Полный рабочий пример регистрации виджетов при активации темы можно найти в теме Semiologic Reloaded. Он доступен для скачивания, не стесняйтесь подстраиваться под себя.
@hakre — Ваша гиперссылка не работает.
@hakre — Также, может быть, привести рабочий пример? Если это так, вы ответите на меньшее количество вопросов, но они будут более полезными, и, таким образом, больше людей оценят ваши ответы высоко. Множество вопросов, на которые даны лишь небольшие указания, менее полезны, чем меньшее количество вопросов, на которые даны правильные ответы. Когда вы отвечаете на каждый вопрос короткими ответами, это иногда заставляет других думать: «Зачем отвечать, @hakre уже ответил?», по крайней мере, так я иногда себя чувствую.
Хорошо, я вижу, я позабочусь об этом.
На самом деле я просто изменил sidebar.php, чтобы предоставить правильные виджеты по умолчанию, если не было установлено значение dynamic_sizebar. Этого было достаточно для меня, но спасибо за ваше более общее решение.
Ой ладно, мне не было ясно, что это будет уже подходит для вас.
Кайзер: Не совсем то же самое, не так ли? Первый регистрирует виджет. Все, что вы делаете, это звоните. Что, если у меня есть кто-то, кому больше не нужен виджет, и он понятия не имеет, как редактировать код the_widget?
Намного легче.
the_widget()
Функция уже присутствует. Просто обратитесь к кодексу.