Everyday Pieces ::
  • Webサービス
  • ブログパーツ
  1. ホーム
  2. WordPress

WordPressのテーマを自作する(14)

2021年8月11日 WordPress, プログラミング テーマ自作

 前回の続きです。
投稿一覧、投稿、固定ページ、アーカイブの出力については概ね出来てきたので、
今回はサイドバーをやってみたいと思います。

サイドバーの登録と表示

 ということで、こちらを参考にやってみます。
サイドバーを登録するために、functions.php に以下のようなコードを追加しました。

add_action( 'widgets_init', function() {
	register_sidebar(
		[
			'name' => 'サイドバー',
			'id' => 'rf-sidebar',
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget' => '</section>',
			'before_title' => '<h3 class="widgettitle">',
			'after_title' => '</h3>'
		]
	);
});

 name と id は省略することも可能なようですが、判別できるように設定しておくようにします。
個々のウィジェット全体を <section> で、ウィジェットのタイトルは <h3> で囲むように設定しました。

 これで、
管理画面の「外観」に「ウィジェット」が追加され、ウィジェットを登録することができるようになりますが、
このままでは画面に出力されないので、そのためのコードを書きます。
大抵の場合は footer.php に書くことになると思います。
例のごとく、テンプレート部品化しました。

			</main>
			<?php get_template_part( 'parts/sidebar' ); ?>
		</div>
	</div>
</div>
<?php wp_footer(); ?>
</body>
</html>

 parts/sidebar.php のコードは以下の通りとなりました。

<?php if ( is_active_sidebar('rf-sidebar') ) : ?>
<aside id="sidebar">
	<div class="widget-list">
		<?php dynamic_sidebar('rf-sidebar'); ?>
	</div>
</aside>
<?php endif; ?>

 登録時のIDを使って目的のサイドバーを指定するようにします。
is_active_sidebar() で該サイドバーが有効になっているか確認し、dynamic_sidebar() でサイドバーを表示させます。割と簡単ですね。

サイドバーを含む構造を確認

 ヘッダー、フッター、サイドバーのコードを書いたことによって、構造が変化したので確認しておきましょう。
以下のような感じになりました。

 ということで、ローカルなWordPress環境での動作を確認してみましょう。
サイドバーとして期待したような表示になるように、CSSを追加しました。

#primary {
	display: flex;
}
#main {
	width: calc(100% - 200px);
}
#sidebar {
	width: 200px;
}
.widget-list {
	margin: 0 0 0 20px;
}

 で、いくつかのウィジェットを追加してみた結果は↓こんな感じになりました。
とりあえずうまく行っているようですね。

サイドバー

 次回に続きます。

関連記事
WordPressのテーマを自作する(23) WordPressのテーマを自作する(22) WordPressのテーマを自作する(21) WordPressのテーマを自作する(20) WordPressのテーマを自作する(19) WordPressのテーマを自作する(18) WordPressのテーマを自作する(17) WordPressのテーマを自作する(16) WordPressのテーマを自作する(15) WordPressのテーマを自作する(13) WordPressのテーマを自作する(12) WordPressのテーマを自作する(11) WordPressのテーマを自作する(10) WordPressのテーマを自作する(9) WordPressのテーマを自作する(8) WordPressのテーマを自作する(7) WordPressのテーマを自作する(6) WordPressのテーマを自作する(5) WordPressのテーマを自作する(4) WordPressのテーマを自作する(3) WordPressのテーマを自作する(2) WordPressのテーマを自作する

コメントする キャンセル

アドレスが公開されることはありません。が付いている欄は必須項目です。

投稿ナビゲーション

WordPressのテーマを自作する(13)
WordPressのテーマを自作する(15)

カテゴリー

WordPress つぶやき トピック プログラミング

タグ

AS3 enchant.js FamilyTreeVis Flash Geolocation gif.js kinect Linux MMD MoneyTrackNote notifier.js OpenCV PDFカレンダー RISC-V three.js セキュリティ テーマ自作 ブログパーツ 動物 動画 麻雀

アーカイブ

© Everyday Pieces ::