WordPress register_sidebars困境

时间:2013-06-06 18:20:13

标签: php wordpress

问题:

$footer_widgets = array(
    'name'          => sprintf(__('Sidebar %d'), $i ),
    'id'            => "sidebar-$i",
    'description'   => '',
    'class'         => '',
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget'  => '</li>',
    'before_title'  => '<h2 class="widgettitle">',
    'after_title'   => '</h2>'
);

register_sidebars(4, $footer_widgets);

正在制作下面的图片,我不知道为什么。当我复制并粘贴register_sidebars codex代码时,仍然无效。

Widgets

什么有效:

当我删除$footer_widgets["name"]时,它会突然再次起作用。我似乎无法更改名称以满足我的需求,因此我可以继续构建我的主题。

如果这是重复,我道歉。我确实花时间来搜索stackoverflow和其他搜索引擎,但没有找到任何可以帮助我的东西。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

parameters section中有一个特殊的注释:

  

注意:如果从上面的默认用法进行复制,请删除sprintf( )包装器   功能

工作代码:

add_action( 'widgets_init', 'so16969325_widgets_init' );
function so16969325_widgets_init()
{
    $footer_widgets = array(
        'name'          => __( 'Sidebar %d', 'txt_domain' ),
        'id'            => "sidebar-$i",
        'description'   => '',
        'class'         => '',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => '</h2>'
    );
    register_sidebars( 4, $footer_widgets );
}