WordPress侧边栏的样式看起来不正确 - dynamic_sidebar()

时间:2011-11-11 07:54:23

标签: wordpress sidebar

到目前为止,自定义侧边栏已经变得轻而易举,除非它出现在博客“类别”中。

请注意“页面”版本 - http://70.87.35.71/~life/?page_id=87

的完美结果

但是相同的侧边栏具有不同的元素版本 - http://70.87.35.71/~life/?cat=1

为什么侧栏在类别部分下看起来很糟糕,如何让它看起来像'Page'版本。

我的侧边栏代码位于

之下
<div id="sidebar" class="clearfix">



<?php 

if ( !in_category('1') ) {
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar') )
    {}

}
else {
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Blog') )
    {}

}
?> 
</div> <!-- end sidebar -->

2 个答案:

答案 0 :(得分:1)

无需检查function_exists。它自WordPress版本2.1以来就存在。

您的显示问题是由于侧边栏博客侧边栏未正确注册。

add_action( 'widgets_init', 'add_blog_sidebar' );
function add_blog_sidebar() {

register_sidebar(array(
    'name' => 'Blog Sidebar',
         'id'         =>  'blog',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="widgettitle">',
        'after_title' => '</h3>',
    ));
}

需要使用前部窗口小部件和标题参数才能进行样式化。

调用动态侧边栏:

if ( is_category('1') dynamic_sidebar( 'blog' );
    else dynamic_sidebar( 'sidebar');

要了解有关侧边栏的所有信息,请查看Justin Tadlock's sidebar tutorial.

答案 1 :(得分:0)

尝试将其更改为:

<?php     
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Blog') )
    {}
?>

remove the if else statement