Intereting Posts
Исключить страницу из результатов цикла Путь к файлу для вложений вне wp-контента / загрузки WP_Query наиболее просматриваемые сообщения в нескольких типах сообщений за последние 30 дней, исключая конкретный таксономический термин Автозаполнение jQuery не работает с wp_localize_script Различные виджеты на разных шаблонах страниц? Изменение домена Включить заметку в столбцы страниц? Как запускать comment_form_after действие, если comment_form () не используется JQuery undefined и Stylesheet загружается снизу вместе с js-файлами Настройка темы – не может добавлять раздел / настройки Разметка страницы не работает на странице шаблона Получить тип сообщения из таксономии или категории Управление многими страницами на веб-сайте WordPress Отображение конкретных продуктов WooCommerce для разных типов пользователей Автоматические обновления в плагине – не размещены в репозитории WordPress

изменение wp-admin / widgets.php

Мы хотим немного изменить дизайн страницы виджетов в панели администратора, главным образом, чтобы помочь администратору сайта понять, где каждый виджет будет отображаться на сайте:

введите описание изображения здесь

Для этого нам нужно изменить HTML, который визуализирует widgets.php (просто изменить css недостаточно). Как мы будем делать это, не касаясь ядра?

Solutions Collecting From Web of "изменение wp-admin / widgets.php"

Если вы обновите WordPress до 3.3.1, что вам абсолютно необходимо, каждая область виджета в admin теперь имеет идентификатор, который вы можете использовать для таргетинга через CSS, чего действительно должно быть достаточно. См. http://core.trac.wordpress.org/ticket/18334 для примера.

Я не могу вынести вопрос из головы, но у меня нет времени для полного решения. Поэтому я просто записываю свою идею здесь, тогда я поставлю небольшую щедрость.

  • В wp-admin/widgets.php есть действие 'widgets_admin_page' над другим контентом. Здесь вы можете разместить окно предварительного просмотра.
    Образец кода:

     add_action( 'widgets_admin_page', 'show_widget_preview' ); function show_widget_preview() { $preview_widgets = $GLOBALS['wp_registered_sidebars']; unset ( $preview_widgets['wp_inactive_widgets'] ); print '<div style="border:2px solid #ddf;padding:20px">' . '<pre>' . htmlspecialchars( print_r( $preview_widgets, TRUE ) ) . '</pre>' . '</div>'; } 

    Это отображает массив всех зарегистрированных боковых панелей. Вы должны пройти через все боковые панели, чтобы найти зарегистрированные виджеты.

  • Чтобы сделать предварительный просмотр полезным, вам нужны два файла: шаблон HTML и таблица стилей.
    Я бы использовал add_theme_support() .
    Пример кода для functions.php темы:

     add_theme_support( 'widget_preview', array ( 'template' => get_stylesheet_directory() . '/widget-preview.php', 'stylesheet' => get_stylesheet_directory() . '/widget-preview.css' ) ); 
  • В show_widget_preview() вы вставляете таблицу стилей и загружаете шаблон. Отобразить зарегистрированные боковые панели в предопределенных заполнителях в widget-preview.php .

  • Обновите шаблон на AJAX после того, как пользователь нажал кнопку « Сохранить» в виджетах.

  • Вызовы: учитывайте режим доступности, небольшие окна и конфликты CSS. Показать полезное сообщение, если боковая панель не зарегистрирована (описания боковой панели?). Что должно произойти, когда пользователь пытается перетащить виджет в окно предварительного просмотра? 🙂

короткий ответ – вы не можете, не без касания ядра.

однако вы можете установить описание каждой области виджетов (текст под заголовком области виджета) в функции register_sidebar.