在 wordpress 子主题中添加两个侧边栏
可以按照以下步骤在 WordPress 子主题中添加两个侧边栏:
1.打开子主题的 functions.php 文件,添加以下代码来注册两个侧边栏:
function custom_register_sidebars() {
register_sidebar(
array(
'name' => __( 'Left Sidebar', 'textdomain' ),
'id' => 'left-sidebar',
'description' => __( 'Widgets in this area will be shown on the left side.', 'textdomain' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
)
);
register_sidebar(
array(
'name' => __( 'Right Sidebar', 'textdomain' ),
'id' => 'right-sidebar',
'description' => __( 'Widgets in this area will be shown on the right side.', 'textdomain' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
)
);
}
add_action( 'widgets_init', 'custom_register_sidebars' );
2.打开 sidebar.php 文件,添加以下代码来显示两个侧边栏:
<div id="secondary" class="widget-area" role="complementary">
<?php if ( is_active_sidebar( 'left-sidebar' ) ) : ?>
<div id="left-sidebar" class="widget-container">
<?php dynamic_sidebar( 'left-sidebar' ); ?>
</div>
<?php endif; ?>
<?php if ( is_active_sidebar( 'right-sidebar' ) ) : ?>
<div id="right-sidebar" class="widget-container">
<?php dynamic_sidebar( 'right-sidebar' ); ?>
</div>
<?php endif; ?>
</div><!-- #secondary -->
3.在页面模板中调用 get_sidebar() 函数来显示侧边栏:
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'template-parts/content', get_post_format() ); ?>
<?php endwhile; ?>
</main><!-- #main -->
<?php get_sidebar(); ?>
</div><!-- #primary -->
4.在 WordPress 后台的外观 – 小工具中添加需要的小工具到刚刚注册的两个侧边栏中即可。
第二种方案:
wordpress 如果分别制作两个独立侧边栏模板文件,如何实现?
如果要分别制作两个独立的侧边栏模板文件,可以按照以下步骤实现:
1.在子主题中创建两个独立的侧边栏模板文件,例如 left-sidebar.php 和 right-sidebar.php。
2.在页面模板中调用需要的侧边栏模板文件。可以使用 get_sidebar() 函数来加载侧边栏模板文件。在函数中指定需要加载的侧边栏模板文件名即可。例如:
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'template-parts/content', get_post_format() ); ?>
<?php endwhile; ?>
</main><!-- #main -->
<div id="left-sidebar" class="widget-area" role="complementary">
<?php get_sidebar( 'left' ); ?>
</div><!-- #secondary -->
<div id="right-sidebar" class="widget-area" role="complementary">
<?php get_sidebar( 'right' ); ?>
</div><!-- #secondary -->
</div><!-- #primary -->
3.在 functions.php 文件中注册侧边栏。在 register_sidebar() 函数中指定 id 参数为侧边栏模板文件名,例如 left-sidebar.php 对应的 id 为 left,right-sidebar.php 对应的 id 为 right。例如:
function custom_register_sidebars() {
register_sidebar(
array(
'name' => __( 'Left Sidebar', 'textdomain' ),
'id' => 'left',
'description' => __( 'Widgets in this area will be shown on the left side.', 'textdomain' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
)
);
register_sidebar(
array(
'name' => __( 'Right Sidebar', 'textdomain' ),
'id' => 'right',
'description' => __( 'Widgets in this area will be shown on the right side.', 'textdomain' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
)
);
}
add_action( 'widgets_init', 'custom_register_sidebars' );
- 在 WordPress 后台的外观 – 小工具中添加需要的小工具到刚刚注册的两个侧边栏中即可。
为你推荐

