Как редактировать содержимое dynamic_sidebar()?

10 апр. 2013 г., 17:41:12
Просмотры: 21.2K
Голосов: 7

Я хорошо знаю PHP, но я новичок в WordPress. Мне достался незавершенный сайт WordPress. На нём есть статическая главная страница с формой подписки Aweber. Я попытался разобраться в установленной теме и в файле home.php обнаружил:

<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
    <?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>

Когда я просматриваю исходный код главной страницы, форма подписки Aweber появляется точно внутри <div class="home-infobox">. Мне нужно внести изменения в форму как первый шаг, и я пытался понять, откуда берется содержимое? Из базы данных или из каких-то PHP файлов, я совершенно не понимаю. Пожалуйста, помогите мне разобраться в этом.

3
Комментарии

Какие изменения вы хотите внести? Вы имеете в виду стилизацию конкретного виджета или содержимое этого виджета?

Brad Dalton Brad Dalton
13 янв. 2014 г. 03:26:49

вы говорите о статической главной странице, верно? тогда вам следует проверить front-page.php, если эта тема имеет такой файл, или иначе index.php

bravokeyl bravokeyl
23 мар. 2015 г. 22:22:49

упс! кажется, это старый вопрос, я не проверил это.

bravokeyl bravokeyl
23 мар. 2015 г. 22:24:03
Все ответы на вопрос 4
0
  1. Содержимое dynamic_sidebar берется из виджетов, связанных с этой "Боковой панелью" (также известной как "Область виджетов") в wp-admin, как ответил @s_ha_dum. Нет отдельного файла шаблона для самой боковой панели. Перейдите в /wp-admin/widgets.php в разделе Внешний вид -> Виджеты и найдите область виджетов с названием homepage-infobox. Здесь вы сможете добавлять/удалять виджеты и, возможно, изменять их содержимое.
  2. Проверьте файлы вашего плагина и темы, возможно functions.php, на наличие функции register_sidebar с идентификатором homepage-infobox. В объявлении register_sidebar может быть код, отвечающий за отображение.

Смотрите также:

9 сент. 2015 г. 03:41:50
2

Перед вами, как следует из названия функции, находится динамическая боковая панель. Содержимое, которое заполняет эту панель, должно поступать из виджетов боковой панели, некоторые из них предоставляются ядром WordPress, но многие (большинство) добавляются плагинами и темами. Виджеты могут получать данные из базы данных, из внешних источников, таких как RSS-ленты, или могут быть жёстко запрограммированы для отображения статических данных. Это зависит от конкретного виджета. Если вы посмотрите на разметку внутри боковой панели для отдельных элементов, то обычно сможете определить, какой плагин создаёт виджет. Проверьте CSS-классы (class) и идентификаторы (id).

10 апр. 2013 г. 18:08:29
Комментарии

Спасибо, у Aweber есть собственный плагин, но он не установлен на сайте. RSS-ленты не подходят, так как сайт может работать на автономной машине. Так что либо это статический контент, либо он берется из базы данных. Там есть теги <img>, которые содержат изображения из папки темы. Классы и идентификаторы CSS находятся в style.css темы, я попытался выполнить полный поиск по папке для этих тегов, но они были обнаружены ТОЛЬКО в style.css, ни в каком другом файле. Значит ли это, что контент берется из базы данных? Можете ли вы предложить какие-то конкретные таблицы для проверки?

Zeeshan Zeeshan
10 апр. 2013 г. 18:21:20

Вам следует избегать взлома базы данных. Это опасная игра. Сначала найдите код, который генерирует виджеты. Не зная, о каких именно виджетах идет речь, я не могу сузить область поиска. Вы можете не найти названия классов нигде, кроме таблицы стилей, но часто по этим именам можно определить, какой плагин или тема создали виджет.

s_ha_dum s_ha_dum
10 апр. 2013 г. 18:27:42
0

Возможно, его нет в базе данных. Скорее всего, он находится в файле функций темы, который вы ещё не проверили.

Вам нужно проверить файл functions.php в папке темы. Либо же код для вашего динамического сайдбара может находиться в файле includes/theme-init.php.

15 апр. 2013 г. 17:33:36
0

Еще одна возможная проблема — отсутствие вызова get_footer() в шаблоне. Именно в этом месте подключаются скрипты.

Это легко упустить из виду, когда работаете над сайтом, где некоторые части еще не завершены.

1 июн. 2020 г. 23:28:52