Мы хотим оформить страницу виджетов в панели администратора немного по-другому, главным образом, чтобы помочь администратору сайта понять, где каждый виджет появится на сайте:
Для этого нам нужно изменить HTML-код, который отображает widgets.php (простого изменения CSS недостаточно). Как бы мы поступили так, не касаясь ядра?
widgets
wp-admin
core-modifications
Леа Коэн
источник
источник
Ответы:
Если вы обновите свой WordPress до версии 3.3.1, что вам абсолютно необходимо, у каждой области виджетов в админке теперь есть идентификатор, который вы можете использовать для нацеливания с помощью CSS, чего на самом деле должно быть достаточно. См. Http://core.trac.wordpress.org/ticket/18334 для примера.
источник
Я не могу выбросить вопрос из головы, но у меня нет времени для полного решения. Поэтому я просто записываю свою идею здесь, а затем я назначу небольшую награду.
Существует действие
'widgets_admin_page'
вwp-admin/widgets.php
выше другого контента. Вы можете разместить окно предварительного просмотра здесь.Образец кода:
Это распечатывает массив всех зарегистрированных боковых панелей. Вы должны пройти через все боковые панели, чтобы найти зарегистрированные виджеты.
Чтобы сделать предварительный просмотр полезным, вам понадобятся два файла: шаблон HTML и таблица стилей.
Я бы использовал
add_theme_support()
.Пример кода для темы
functions.php
:В
show_widget_preview()
вас ставят таблицу стилей и загружают шаблон. Рендеринг зарегистрированных боковых панелей в предопределенных заполнителей вwidget-preview.php
.Обновите шаблон в соответствии с AJAX после того, как пользователь нажал кнопку « Сохранить» в виджете.
Задачи: принять во внимание режим доступности, небольшие окна и конфликты CSS. Показывать полезное сообщение, когда боковая панель не зарегистрирована (описания боковой панели?). Что должно произойти, когда пользователь пытается перетащить виджет в окно предварительного просмотра? :)
источник
краткий ответ: нельзя, не касаясь ядра.
однако вы можете установить описание каждой области виджета (текст под заголовком области виджета) в функции register_sidebar.
источник