Not Getting Sidebar

时间:2014-05-21 作者:Greg

我使用的侧栏使用if-else语句。无论我做什么,它总是显示else默认侧边栏。它们似乎已注册,因为它们显示在管理窗口小部件部分。我可以向它们添加小部件,但它们不会显示在页面中。仅默认侧栏。

这是侧边栏模板

<aside id="sidebar" role="complementary">
            <?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar() ) : ?>
                <div class="widget">
                    <h3>Search</h3>
                    <?php get_search_form(); ?>
                </div>

                <div class="widget">
                    <h3 class="wtitle">Categories</h3>
                    <ul>
                        <?php wp_list_categories(\'title_li=\'); ?>
                    </ul>
                </div>

                <div class="widget">
                    <h3 class="title">Archives</h3>
                    <ul>
                        <?php wp_get_archives( array( \'type\' => \'monthly\' ) ); ?>
                    </ul>
                </div>

                <div class="widget">
                    <h3 class="title">Meta</h3>
                    <ul>
                        <?php wp_register(); ?>
                        <li><?php wp_loginout(); ?></li>
                        <?php wp_meta(); ?>
                    </ul>
                </div>
            <?php endif; ?>
            </aside>
这就是所谓的

   <?php get_header(); ?>
<div id="content" class="wrapper">
    <?php get_sidebar(); ?>
    <div id="main">
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <article id="post-<?php the_ID(); ?>" class="post postbrdr" role="article">
            <header class="posthead">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
                <span class="meta">
<i>Published <time datetime="<?php echo the_time(\'Y-m-j\'); ?>"><?php echo the_time(get_option(\'date_format\')); ?></time> by <?php the_author_posts_link(); ?>.</i>
<i>Filed under <a href="#" rel="category"><?php the_category(\', \'); ?></a>. Total of <a href="<?php comments_link(); ?> "><?php comments_number( \'no comments\', \'1 comment\', \'% comments\' ); ?></a> in the discussion.<?php edit_post_link(\'Admin Edit\', \' \', \'.\'); ?></i>
</span>
            </header>
            <section class="post-content clearfix">
                <?php the_content(); ?>
            </section>
        </article>
        <?php endwhile; ?>
        <div id="navbelow" class="clearfix">
            <div class="nav-prev">
                <?php previous_posts_link( "&laquo; Older Entries"); ?>
            </div>
            <div class="nav-next">
                <?php next_posts_link( "Newer Entries &raquo;"); ?>
            </div>
        </div>
        <?php else : ?>
        <article id="post-not-found" class="post">
            <header class="posthead">
                <h2>Whoops! Looks like we can\'t find this post.</h2>
            </header>

            <section class="post-content">
                <p>It seems like this post is missing somewhere. Double-check the URL or try navigating back via the website menu links.</p>
            </section>
        </article>
        <?php endif; ?>
    </div>
    <!-- /#main -->
</div>
<!-- /#content -->
<br style="clear:both;">

<?php get_sidebar( \'responsive\' ); ?>
<?php get_footer(); ?>
这里是反应灵敏的。php

<aside id="sidebar-responsive" class="wrapper" role="complementary">
        <?php if ( function_exists(\'dynamic_sidebar\') && dynamic_sidebar(2) ) : else : ?>
        <div class="widget">
<h3 class="wtitle">Blog Categories</h3>
<ul>
<?php wp_list_categories(\'title_li=\'); ?>
</ul>
</div>
<div class="widget">
<h3 class="title">Post Archives</h3>
<ul>
<?php wp_get_archives( array( \'type\' => \'monthly\' ) ); ?>
</ul>
</div>      
        <?php endif; ?>
        </aside> <!-- /#sidebar-responsive -->>
这是注册

* Setting up custom sidebars
 *
 */
if(function_exists(\'register_sidebar\')) {
    register_sidebar(array(
        \'name\' => \'Main Sidebar\',
        \'id\' => \'main\',
        \'before_widget\' => \'<div class="widget">\',
        \'after_widget\' => \'</div>\',
        \'before_title\' => \'<h3 class="wtitle">\',
        \'after_title\' => \'</h3>\'
    ));

    register_sidebar(array(
        \'name\' => \'Responsive Sidebar\',
        \'id\' => \'responsive\',
        \'before_widget\' => \'<div class="widget">\',
        \'after_widget\' => \'</div>\',
        \'before_title\' => \'<h3 class="wtitle">\',
        \'after_title\' => \'</h3>\'
    ));

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

你的侧边栏不会像你所说的那样工作。<?php get_sidebar(); ?> 调用template 侧栏。php,而<?php get_sidebar( \'responsive\' ); ?> 调用template 边栏响应。php

要调用模板中的两个侧栏,需要使用dynamic_sidebar() 根据示例调用它们

<?php if ( is_active_sidebar( \'responsive\' ) ) : ?>

   <?php dynamic_sidebar( \'responsive\' ); ?>

<?php endif; ?>

EDIT

好的,这里有一些错误。

首先,我相信是你的侧边栏。php模板,您有以下代码

 <?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar() ) : ?>
您不需要调用任何特定的侧栏。您需要指定要使用的侧栏,因此需要将该行更改为

 <?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar( \'main\' ) ) : ?>
如果要使用id main的侧栏。

其次,您正在调用一个不存在的提要栏模板。如上所述,<?php get_sidebar( \'responsive\' ); ?> 调用侧栏响应。php,它不存在。你will 需要做出响应性的改变。php到侧栏响应。php正常工作。

第三,这条线也是错误的

<?php if ( function_exists(\'dynamic_sidebar\') && dynamic_sidebar(2) ) : else : ?>
您正在调用id为“2”的提要栏,根据您注册的内容,该提要栏不存在。我相信如果我看一下模板名称,这实际上应该是“响应性的”。您也可以使用与侧栏中相同的结构。php调用提要栏,如下所示

 <?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar( \'responsive\' ) ) : ?>
希望这是你需要的。

结束

相关推荐

Additional Sidebar

嗨,我想在我的主题中创建额外的侧边栏,我不确定我所做的是否正确。在我的主题函数中。php我找到了这个函数: function blankslate_widgets_init() { register_sidebar( array ( \'name\' => __(\'Sidebar Widget Area\', \'blankslate\'), \'id\' => \'primary-widget-area\', \'before_widget\' =&g