Я пытаюсь создать тему на WordPress (версия 3.3.2), но у меня есть несколько проблем с отображением на боковой панели другого набора виджетов на определенных страницах.
Я пробовал несколько онлайн-руководств и, в частности, этот http://www.rvoodoo.com/projects/wordpress/wordpress-tip-разные-боковыепанели-на-разных-страницах/ но, к сожалению, боковая панель не меняется, когда я перехожу на другую страницу
Я зарегистрировал две боковые панели в файле functions.php, как показано ниже, одну из которых я считаю основной, а другую — пользовательской боковой панелью, а также добавил к этим боковым панелям различные виджеты.
<?php register_sidebar( //register sidebar
array(
'name' => 'Right-side',
'before_widget' => '<div class="rightwidget">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widgettitle">',
'after_title' => '</h3>',
));
register_sidebar( //register second sidebar
array(
'name' => 'Second-right',
'before_widget' => '<div class="rightwidget">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widgettitle">',
'after_title' => '</h3>',
));
?>
После этого я создал файлы sidebar.php и sidebar-second.php, чтобы иметь возможность их вызывать.
сайдбар.php
<div id="sidebar">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-side')) : ?>
<h3 class="widget-title">No widget added</h3>
<p> Please add some widgets</p>
<?php endif; ?>
</div><!--ends sidebar-->
сайдбар-второй.php
<div id="sidebar">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Second-right')) : ?>
<h3 class="widget-title">No widget added</h3>
<p> Please add some widgets</p>
<?php endif; ?>
</div><!--ends sidebar-->
И затем я добавил заменить мой оператор <?php get_sidebar() ; ?>
следующим условным
<?php if( is_page('225') ) : ?>
<?php dynamic_sidebar('second'); ?>
<?php else : ?>
<?php get_sidebar() ; ?>
<?php endif ; ?>
Однако на каждой странице отображаются только виджеты, добавленные в sidebar.php. Любая помощь в том, как я могу это изменить, или указатели на то, что я могу делать неправильно. Спасибо.
<?php echo $post->ID ?>
и убедитесь, что выводит 225? - person Andrew   schedule 16.06.2012get_sidebar('second')
непосредственно на странице индекса при условии, что у вас есть отдельные файлы single.php и/или page.php для отображения сообщений и страниц< /я> - person Andrew   schedule 16.06.2012