Сайдбар не отображается
-
Доброго времени суток, коллеги.
Я только начинаю работать с WordPress и многие очевидные вещи для меня не очевидны. Так что простите если что не так.
Стоит задача:
на этой странице нужно сделать справа сайдбар.
Эта страница существует в Pages, хотя в ее коде присутствует iFrame код такого содержания<div style="float: right; <?php if (is_page(36) OR is_page(96) OR is_page(97) OR is_page(247)) { echo 'width:100%;';} else {echo 'width: 79%;';} ?>" id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <iframe onload="window.scroll(0,0);" src="http://*****" name="qz" id="qz_iframe" scrolling="no" frameborder="0" width="800" height="1500"></iframe> </div>
(На стили в div не обращайте внимания — сайт до меня был в руках индусов),
так вот:
1. Прописал в function.php такой кодregister_sidebar(array( 'name' => 'Second Right Sidebar', 'id' => 'right-sidebar-two', 'description' => __( 'Advertising sidebar' ), 'before_widget' => '<div id="right-sidebar-two" class="blog-sidebar">', 'after_widget' => '</div>', 'before_title' => '<h2>', 'after_title' => '</h2>', ));
2. Создал файл sidebar-two.php с таким кодом
<div id="right-sidebar-two" class="blog-sidebar"> <?php if ( is_active_sidebar( 'right-sidebar-two' ) ) : ?> <?php dynamic_sidebar( 'two' ); ?> <?php else : ?> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- FPC 160x600 --> <ins class="adsbygoogle" style="display:inline-block;width:160px;height:600px" data-ad-client="ca-pub-6745126947243374" data-ad-slot="3737936649"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <?php endif; ?> </div>
3. Прописал в нужный PHP-файл код вызова сайдбара
<?php get_sidebar(‘two’); ?>
4. Зашел в админ панель и в появившийся сайдбар накидал пару виджетов для отображения.В результате НИЧЕГО.
Страница не поменялась, и даже FireBug нового сайдбара не видит (я сначала думал, что из-за неправильных стилей его не видно).Помогите разобраться пожалуйста.
-
function.php
‘id’ => ‘right-sidebar-two’,sidebar-two.php
<?php dynamic_sidebar( ‘two’ ); ?>Roman Fov
Благодарю за ответ в столь поздний час. Исправил, но результат тот же.
Может я «исчо» что-то упускаю?
тк в исходном коде страницы нет div’а с id=»right-sidebar-two» (который должен отображаться в любом случае), то возможно не туда вставлен код из пункта 3?
Изменения вносятся сразу на сервер?
да
Почистите кеш если есть
почистил плагином Hyper Cache. Без результатно.
меня гложат смутные сомнения что я не тот template-файл редактирую. Обычно я не ошибался, но чем черт не шутит, т.к. я заключил функцию в <div> в файле с темой, но этот <div> даже пустым не отображается в браузере, даже если смотреть через код страницы
<div id="right-sidebar-two" class="blog-sidebar"> <?php get_sidebar('two'); ?> </div>
А теперь глупый вопрос — как удостовериться что я правлю нужный файл PHP?
Тк это страница, а не запись, то смотрите файлы page.php, page-*.php
А теперь глупый вопрос — как удостовериться что я правлю нужный файл PHP?
Вставьте в него html комментарий и поищите его в исходном коде страницы
А вообще прогуглите Template Hierarhy WP, там как раз про шаблоны
я перегрызу горло тому, кто делал этот темплейт 🙂
файл страницы назывался template-footer-pages.php
Я конечно еще плохо знаю вордпресс, а с ПХП вообще на Вы, но мне кажется что это полный бред.
В общем — нашел, работает, спасибо за подсказки.
Решил проблему, скачав папку темы на комп, загрузил в sublimeText как Project и сделал поиск по всему проекту куска содержимого страницы.
Да, template-footer-pages.php это круто )))
- Тема «Сайдбар не отображается» закрыта для новых ответов.