@The_Last_Dot

Почему sidebar отображается только на главной странице в worpress?

Добрый вечер!
Есть сайт на wordpress, которой предусматривает возможность отображения sidebar либо слева, либо справа или же вообще без..., я отобразил встроенную справа и вставил свою колонку слева:

1) В function.php зарегал левую колонку(код писал в самом низу файла):

<?php
function my_register_sidebar()
{ 
    register_sidebar(array(
        'id' => 'left-side',
        'name' => 'Левая колонка', 
        'description' => 'Перетяните виджеты, чтобы добавить их в сайдбар.', 
        'before_widget' => '<div class="l-sidebar">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="l-wtitle">',
        'after_title' => '</h3>'
    ));
}
add_action('widgets_init', 'my_register_sidebar');
?>


2) Создал файл left-sidebar.php и добавил колонку:

<?php if (is_active_sidebar('left-side')) : ?>
    <div id="left-sidebar" class="sidebar">
        <?php dynamic_sidebar('left-side'); ?>
    </div>
<?php endif; ?>


3) отобразил в файле index.php(после шапки):

<?php dynamic_sidebar( 'left-side' ); ?>

Проблема:
- Левая колонка отображается только на главной странице...
-Если добавить 2 и более виджетов, то они отображаются справа от самой колонки, а не снизу...

Что делать не знаю! Спасибо большое!
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
1. Добавьте колонку не только в index.php, но и в другие, нужные вам шаблоны - single.php, archive.php, page.php и т.д.

Кстати, index.php это не главная, а самый базовый шаблон, он загружается, если вп не может найти нужный. Для главной желательно использовать home.php или front-page.php. Почитайте иерархию шаблонов

2. Скорее всего ваш вопрос связан с версткой, а именно сеткой. На примере бутстрапа, так может выглядеть разметка с контентом и сайдбаром:
<div class="container">
	<div class="row">
		<aside id="secondary" class="col-12 col-lg-4 col-xl-3" role="complementary">
			<!-- sidebar -->
		</aside>
		<main id="primary" class="col-12 col-lg-8 col-xl-9" role="main">
			<!-- main content -->
		</main>
	</div>
</div>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы