Добавить отдельный сайдбар для страницы
Сегодня нашел один уникальный урок рассказывающий как сделать несколько сайдбаров и закрепить их содержимое за отдельными страницами в виде выпадающего списка. Немного запутано но думаю, на практике будет понятнее.
Шаг первый добавление сайдбаров
Открываем в папке темы файл function.php и добавляем туда код для создания нескольких сайдбаров в цикле:
$dynamic_widget_areas = array(
/* rename or create new dynamic sidebars */
"Sidebar 01",
"Sidebar 02",
"Sidebar 03",
"Sidebar 04",
"Sidebar 05",
"Sidebar 06",
"Sidebar 07",
"Search Template",
);
if ( function_exists('register_sidebar') ) {
foreach ($dynamic_widget_areas as $widget_area_name) {
register_sidebar(array(
'name'=> $widget_area_name,
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
));
}
}
add_action("admin_init", "sidebar_init");
add_action('save_post', 'save_sidebar_link');
function sidebar_init(){
add_meta_box("sidebar_meta", "Sidebar Selection", "sidebar_link", "page", "side", "default");
}
function sidebar_link(){
global $post, $dynamic_widget_areas;
$custom = get_post_custom($post->ID);
$link = $custom["_sidebar"][0];
?>
echo '
';
?>
Select sidebar to use on this page.
ID;}
update_post_meta($post->ID, "_sidebar", $_POST["link"]);
}
add_action('admin_head', 'sidebar_css');
function sidebar_css() {
echo'
';
}На шаге два мы добавляем область для отображения сайдбара
Я добавил этот код в файл page.php перед выводом комментариев.
Внешне в разделе виджетов после вставки кода все будет выглядеть так:
После того как мы вставим в одну из областей виджет необходимо зайти на любую страницу или создать новую и указать в выпадающем списке, какой сайдбар будет на ней отображаться.
Также в меню настроек будет новый пункт Sidebar Selection который, при не надобности, можно отключить.
/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.







