在简单的代码更新后不显示侧边栏小工具。

时间:2012-02-02 作者:sleeper

我注册了一个侧栏小部件,然后修改了注册,包括更改小部件的注册名称。现在小部件根本不显示。下面是我采取的步骤。

我在函数中注册了一个边栏小部件。php文件。

if (function_exists(\'register_sidebar\') ){
    register_sidebar( array(\'name\' => \'Right Sidebar\') );
}
然后,在我的模板页面中,我插入了对小部件的适当调用,如。。。

<?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar() ) : ?>
    ...some html...
<?php endif; ?>
在进一步阅读法典之后(i\'m a noob), 我决定做更多的清理并测试register\\u sidebar()的所有参数,所以。。。

函数中的。php,我将上述调用更改为此(直接从the codex):

if (function_exists(\'register_sidebar\') ){
    register_sidebar(array(
      \'name\' => \'RightSideBar\',
      \'id\' => \'right-sidebar\',
      \'description\' => \'Widgets in this area will be shown on the right-hand side.\',
      \'before_title\' => \'<h1>\',
      \'after_title\' => \'</h1>\'
    ));
}
然后,我去了管理外观,果然,新的和改进的侧边栏小部件出现了,但它是空的。所以我添加了一些小部件。

然后,我在浏览器中测试了页面:No Widgets. 只是我添加的默认标记。

我检查了代码。看着我的眼睛。

因此,我决定退出更改并恢复到以前的代码(请参见步骤1)。

使我惊讶的是,在管理中,所有以前的设置were still there (边栏、小部件和所有工具)!加上页面上显示的小部件。

然后我重新添加了新代码(请参见#4),同样的事情是:我添加到new and improved 版本也被保存(在db中的某个地方,由于某些原因超出了我的薪资等级)并显示(在管理部分,但NOT 在页面上)。

这就引出了一个问题:Do I need to (somehow) deregister the sidebar widget? (因为DB显然正在“某处”存储这些值)。

再挖一点就可以实现这个小功能:unregister_sidebar( $id );

我真的需要用这个吗?我最初的目标是完全重命名和更新提要栏。

所以。。。我需要线索:D

谢谢

卧铺

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

如果您不需要register\\u侧边栏中的其他设置,也可以。

那不好要呈现侧边栏,需要调用

 dynamic_sidebar($index);
在您的情况下,可能是:

 dynamic_sidebar(\'Right Sidebar\');
有关动态侧栏,请参见codex页面http://codex.wordpress.org/Function_Reference/dynamic_sidebar

您当前的代码是(短版本):如果没有侧栏,那么执行我的自定义代码。查看链接的codex页面中的示例。

跳过

  • 如果你需要侧边栏的这些设置,请使用它们,但请注意,当你的旧侧边栏消失时,侧边栏/小部件配置页面上就会出现这种情况。

  • 如果您用ID注册侧栏,WordPress会在数据库中查找此ID,如果您只需用名称注册侧栏,WordPress会查找名称。

    您的ID与原始名称不同,并且没有具有此ID的提要栏条目。设置ID时,名称将被忽略。

    希望这能让事情变得更清楚一点。

    结束

    相关推荐

    Toggle Sidebar Display

    我正在开发一个WordPress主题,允许用户使用Javascript切换侧栏的可见性,就像Wiki允许用户显示或隐藏目录一样。当用户单击链接隐藏侧栏时,我有一个toggle()javascript toggle函数,该函数将侧栏的可见性设置为“无”,并设置文档cookie,以便用户下次访问该页面时,侧栏将记住上次的切换状态。我有另一个javascript函数setToggleFromCookie(),它获取cookie并基于该cookie设置可见性。除以下情况外,其他情况均适用:如果侧栏被隐藏(即侧栏d