在WordPress中,register_sidebar()
和 dynamic_sidebar()
是两个用于创建和管理侧边栏的函数。下面是如何使用这两个函数的步骤:
1. 使用 register_sidebar()
创建侧边栏
首先,你需要在你的主题的 functions.php
文件中注册一个新的侧边栏。以下是一个基本的例子:
function my_custom_sidebars() {
// 注册一个新的侧边栏
register_sidebar(array(
'name' => 'Custom Sidebar', // 侧边栏的名称,将在后台显示
'id' => 'custom-sidebar', // 侧边栏的唯一ID
'description' => 'A custom sidebar for my theme', // 侧边栏的描述
'class' => 'custom-sidebar-class', // 侧边栏的CSS类
'before_widget' => '<div id="%1$s" class="widget %2$s">', // 小工具前的HTML代码
'after_widget' => '</div>', // 小工具后的HTML代码
'before_title' => '<h2 class="widgettitle">', // 小工具标题前的HTML代码
'after_title' => '</h2>' // 小工具标题后的HTML代码
));
}
add_action( 'widgets_init', 'my_custom_sidebars' );
在这个例子中,我们创建了一个名为 "Custom Sidebar" 的侧边栏,它有一个ID "custom-sidebar",并且在后台的“外观”>“小工具”页面中可以找到它。
2. 使用 dynamic_sidebar()
显示侧边栏
一旦你注册了侧边栏,你就可以在你的主题文件中使用 dynamic_sidebar()
函数来显示它。这通常在主题的 sidebar.php
文件或其他模板文件中完成。
以下是如何在模板文件中调用侧边栏的例子:
<?php if ( is_active_sidebar( 'custom-sidebar' ) ) : ?>
<aside id="custom-sidebar" class="widget-area">
<?php dynamic_sidebar( 'custom-sidebar' ); ?>
</aside>
<?php endif; ?>
在这个例子中,is_active_sidebar()
函数首先检查是否有小工具被添加到侧边栏中。如果有的话,dynamic_sidebar()
函数就会被调用,它会输出所有添加到 "custom-sidebar" 侧边栏中的小工具。
注意事项:
- 确保
register_sidebar()
函数在widgets_init
动作钩子中被调用。 dynamic_sidebar()
函数应该在主题的模板文件中调用,通常是在侧边栏、页脚或其他需要显示小工具的区域。- 每个侧边栏都应该有一个唯一的ID,这样
dynamic_sidebar()
函数才能正确地知道要显示哪个侧边栏。
通过以上步骤,你可以在WordPress中创建和管理自定义侧边栏。