Bootstrap5でWordPressのテーマを作るーウィジェットの設定
前回は、固定ページと投稿ページを表示できるようにしました。今回は、ウィジェットの設定です。ヘッダーと、サイドバーにウィジェットを設定します。
ヘッダーのほうは、直接テンプレートに書いてもいいのですが、案外に転居があったり、使いまわしに便利だったりします。サイドバーは、ウィジェットを置いておくと、WordPressの機能でいろいろなものが表示できて便利です。
まず、「functions.php」に以下の内容を追記します。
functions.php
function theme_widgets_init () {
register_sidebar ( array (
'id' => 'sidebar',
'name' => 'サイドバー',
'description' => 'サイドバーに表示',
));
register_sidebar ( array (
'id' => 'header_right',
'name' => 'ヘッダー右',
'description' => 'ヘッダー右に表示',
));
}
add_action ( 'widgets_init', 'theme_widgets_init' );
続いて、「header.php」の「col-md-4」クラスのタグの間と、「sidebar.php」の「<!-- sidebar -->」のコメントの間を以下のように修正します。
header.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<?php wp_head(); ?>
</head>
<body>
<!-- container -->
<div class="container">
<!-- header -->
<header class="header">
<div class="row">
<div class="col-md-8">
<h1 class="header_title">
<a href="<?php echo esc_url( home_url('/') ); ?>" rel="home">
<?php bloginfo( 'name' ); ?></a>
</h1>
<p class="header_description">
<?php bloginfo( 'description' ); ?>
</p>
</div>
<!-- /col-md-8 -->
<div class="col-md-4">
<address class="widget_area address" role="address" aria-label="ヘッダー右">
<div class="widget_cokumn header_right">
<?php dynamic_sidebar( 'header_right' ); ?>
</div>
</address>
</div>
<!-- /col-md-4 -->
</div>
<!-- /row -->
</header>
<!-- /header -->
sidebar.php
<div class="col-md-4">
<!-- sidebar -->
<div class="sidebar" role="sidebar">
<?php if ( is_active_sidebar ( 'sidebar' )) : ?>
<aside class="widget_area" role="complementary" aria-label="サイドバー">
<div class="widget_column sidebar">
<?php dynamic_sidebar( 'sidebar' ); ?>
</div>
</aside>
<?php endif; ?>
</div>
<!-- sidebar -->
</div>
<!-- /col-md-4 -->
</div>
<!-- /row -->
</div>
<!-- /content -->
「functions.php」、「header.php」、「sidebar.php」を修正してアップロードすると、ウィジェットから以下のような入力ができるようになります。
まとめ
今回は、ヘッダーとサイドバーにウィジェットを設定しました。フッターに設定しても活用できるかもしれません。次回は、Bootstrap5の機能を使ってレスポンシブに対応するナビゲーションを作成します。お楽しみに。
最近、Amazonのサイトでおすすめされた本です。今回の内容ともかぶるところがありそうで興味深いです。書店で見つけたら手に取って眺めてみるつもりです。
清水 由規(著), 清水 久美子(著), 鈴木 力哉(著), 西岡 由美(著), 星野 邦敏(監修), 吉田 裕介(監修) 技術評論社