免责声明: 我是 WP 的新手。

我正在使用 Starkers HTML5 框架主题. 。在里面 functions.php 我看到这段代码:

function starkers_widgets_init() {

  // Area 1, located at the top of the sidebar.
  register_sidebar( array(
    'name' => __( 'Primary Widget Area', 'starkers' ),
    'id' => 'primary-widget-area',
    'description' => __( 'The primary widget area', 'starkers' ),
    'before_widget' => '<li>',
    'after_widget' => '</li>',
    'before_title' => '<h3>',
    'after_title' => '</h3>',
  ) );

  // Area 3, located in the footer. Empty by default.
  register_sidebar( array(
    'name' => __( 'First Footer Widget Area', 'starkers' ),
    'id' => 'first-footer-widget-area',
    'description' => __( 'The first footer widget area', 'starkers' ),
    'before_widget' => '<li>',
    'after_widget' => '</li>',
    'before_title' => '<h3>',
    'after_title' => '</h3>',
  ) );

  // ... more calls to register_sidebar() ... 
}

并且在 footer.php 我看到这段代码:

<?php get_sidebar( 'footer' ); ?>

我不明白怎么办 get_sidebar() 知道如何获取该字符串参数并找到由 register_sidebar(). 。在我上面发布的functions.php 片段中。除了“页脚”之外,没有任何提及 name, iddescription 特性。但对我来说这似乎很奇怪 get_sidebar() 将在这些属性中搜索“页脚”。

我的要求有意义吗?是不是有什么缺失的部分?

我要问的原因是因为 - 我想更多地了解WP架构 - 我希望能够定义自定义的小部件区域,并知道如何在特定页面上渲染它。

万分感谢。

有帮助吗?

解决方案

你只是打电话 get_sidebar()index.php 并加载主题文件 sidebar.php.

register_sidebar(), 另一方面,用于小部件,其中插件和此类要动态添加内容 sidebar.php 文件如果您的主题支持它。

在您的情况下,是否有一个文件称为 sidebar-footer.php 在您的主题目录中?

其他提示

我从来没有烦恼过 get_sidebar(). 。相反,我只是使用 dynamic_sidebar(). 。你可以这样称呼它:

dynamic_sidebar('first-footer-widget-area');

这样就可以处理整个侧边栏了。不再包含文件,不再杂乱的主题文件夹。如果我想要5个不同的侧边栏,它不会添加任何文件,只添加额外的功能 functions.php.

get_sidebar('name') 获取名称的侧边栏模板 sidebar-name.php .

在sidebar-name.php中,有侧边栏的HTML,呼叫 dynamic_sidebar('some-name-hopefully-the-same'), ,这是小部件将要去的地方。

register_sidebar(array(name=>'some-name-hopefully-the-same', ...)) 是允许Dynamic_sidebar工作的原因。

如你看到的, get_sidebar(templatename) 用于与侧栏 - 图一起使用。如果您不需要它们,则可以打电话给 dynamic_sidebar(sidebarname) 直接来自您的主题。

get_sidebar('footer') 尝试加载 sidebar-footer.php 来自主动主题。 Starkers确实提供了此文件。查看 starkers/sidebar-footer.php 事情应该变得清晰。

许可以下: CC-BY-SA归因
scroll top