按名称而不是ID调用动态侧栏

时间:2014-05-19 作者:lz430

有没有办法通过名称而不是ID来调用动态侧栏。

类似这样:

$postName = get_the_category();
   dynamic_sidebar($postName->category_nicename . \'_sidebar\') ;

2 个回复
最合适的回答,由SO网友:renny 整理而成

您可以将动态侧栏的名称或ID传递给dynamic\\u侧栏。

http://codex.wordpress.org/Function_Reference/dynamic_sidebar

SO网友:Pieter Goosen

我不明白你的代码或你在那里做了什么。从第一个答案中,您评论说链接中的用法不起作用。我的问题是,您是如何注册侧边栏的。

下面是如何使用register_sidebar 摘自法典。

<?php $args = array(
    \'name\'          => __( \'Sidebar name\', \'theme_text_domain\' ),
    \'id\'            => \'unique-sidebar-id\',
    \'description\'   => \'\',
        \'class\'         => \'\',
    \'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
    \'after_widget\'  => \'</li>\',
    \'before_title\'  => \'<h2 class="widgettitle">\',
    \'after_title\'   => \'</h2>\' ); 
?>
现在可以使用名称(侧栏名称)或id(唯一侧栏id)调用要使用的侧栏

<?php if ( is_active_sidebar( \'Sidebar name\' ) ) : ?>
    <ul id="sidebar">
        <?php dynamic_sidebar( \'Sidebar name\' ); ?>
    </ul>
<?php endif; ?>

<?php if ( is_active_sidebar( \'unique-sidebar-id\' ) ) : ?>
    <ul id="sidebar">
        <?php dynamic_sidebar( \'unique-sidebar-id\' ); ?>
    </ul>
<?php endif; ?>
如果这不起作用,那么你就出了问题,因为在我的主题和默认的wordpress主题中都是这样做的

结束

相关推荐

Dynamic Sidebar Conditional

EDIT在此处找到答案:is_active_sidebar() Always Returns False按用户:s_ha_dum我正在动态创建侧栏,并为每个顶级页面注册它们:Dynamically Register Sidebars For Each Top Level Page问题是,我想测试该页面是否不存在边栏,以使用默认值:if(is_dynamic_sidebar(get_the_title())) dynamic_sidebar(get_the_t