Как добавить новые виджеты в сайдбар в пользовательской теме WordPress?
10 янв. 2014 г., 11:42:57
Просмотры: 13.6K
Голосов: 0
Я разрабатываю тему WordPress, в которой хочу отображать доступные виджеты (например Календарь) и виджеты установленных плагинов. Я добавил их в сайдбар через админ-панель виджетов, но они не отображаются на фронтенде.
Код sidebar.php:
<div id="sidebar">
<h2>Новости и объявления</h2>
<ul class="sidebar_list">
<?php dynamic_sidebar('sidebar'); ?>
Вы можете настроить цвета темы через панель опций. Имеется подробная документация.<br /><br /><br />
<?php if (is_page(array('home', 'about-us', 'academics', 'admission', 'activities', 'hall-of-fame', 'alumni', 'photo-gallery', 'news' ))) ?>
<?php $menu=wp_nav_menu('menu=sidebar_menu'); ?>
<?php if ( ! dynamic_sidebar( 'Sidebar' )) : ?>
<?php //Если динамический сайдбар не найден, показать виджеты по умолчанию ?>
<?php endif; ?>
</ul>
</div>
Код functions.php:
<?php
if(function_exists('register_sidebar'))
{
// Регистрация виджета сайдбара
register_sidebar(array('name'=>'Left-Sidebar',
'before_widget'=>'<li>',
'after_widget'=>'</li>',
'before_title'=>'<h3>',
'after_title'=>'</h3>'
));
}
?>
Все ответы на вопрос
1
2
Я приведу базовый код для создания нового виджета. В WordPress это называется register_sidebar;
В вашем коде вы не указали ID. Id=>your-widget-id
Поместите этот код в ваш functions.php
function my_widget(){
register_sidebar( array(
'name' => __( 'Боковая панель', 'yourtheme' ),
'id' => 'sidebar-1',
'description' => __( 'Описание боковой панели', 'yourtheme' ),
'before_widget' => '<aside>',
'after_widget' => '</aside>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );
}
add_action( 'widgets_init', 'my_widget' );
Затем поместите этот код в ваш index.php или sidebar.php (в любое место, где вам нужно)
if ( is_active_sidebar( 'sidebar-1' ) ) : //проверяем, используется ли боковая панель
dynamic_sidebar( 'sidebar-1' ); // отображаем боковую панель
endif;
Не забудьте указать ID.
Подробнее http://codex.wordpress.org/Function_Reference/register_sidebar

ucon89
326
10 янв. 2014 г. 12:27:09
Похожие вопросы
6
ответов