WordPress主题制作

  1. 主页
  2. 文档
  3. WordPress主题制作
  4. 侧边栏(sidebar)
  5. 注册小工具区域Register widget areas

注册小工具区域Register widget areas

实现方法:

1、 在functions.php ,定义一个函数,其中 register_sidebar()注册小工具区域

2、 add_acton()的“widget_init”钩子 将函数连接到指定action(动作)

说明:部分样式通过register_sidebar()设置,剩下样式(外层格式)通过模板文件设置。

register_sidebar 的相关介绍,见《》

案例1:


function mytheme_widgets_init() {

	register_sidebar( array(
		'name'          => 'Home right sidebar',
		'id'            => 'home_right_1',
		'before_widget' => '<div>',
		'after_widget'  => '</div>',
		'before_title'  => '<h2 class="rounded">',
		'after_title'   => '</h2>',
	) );

}
add_action( 'widgets_init', 'mytheme_widgets_init' );
?>

案例2:2020主题的相关代码:

/**
 * Register widget areas.
 *
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function twentytwenty_sidebar_registration() {

	// Arguments used in all register_sidebar() calls.
	$shared_args = array(
		'before_title'  => '<h2 class="widget-title subheading heading-size-3">',
		'after_title'   => '</h2>',
		'before_widget' => '<div class="widget %2$s"><div class="widget-content">',
		'after_widget'  => '</div></div>',
	);

	// Footer #1.
	register_sidebar(
		array_merge(
			$shared_args,
			array(
				'name'        => __( 'Footer #1', 'twentytwenty' ),
				'id'          => 'sidebar-1',
				'description' => __( 'Widgets in this area will be displayed in the first column in the footer.', 'twentytwenty' ),
			)
		)
	);

	// Footer #2.
	register_sidebar(
		array_merge(
			$shared_args,
			array(
				'name'        => __( 'Footer #2', 'twentytwenty' ),
				'id'          => 'sidebar-2',
				'description' => __( 'Widgets in this area will be displayed in the second column in the footer.', 'twentytwenty' ),
			)
		)
	);

}

add_action( 'widgets_init', 'twentytwenty_sidebar_registration' );
这篇文章对您有用吗?

我们要如何帮助您?