現在地: トップページ » WordPress » サイドバー(ウィジェット)の追加/登録方法|WordPress

サイドバー(ウィジェット)の追加/登録方法|WordPress

WordPressのサイドバーを、固定ページ、アーカイブ、ブログ毎に分けたい時ありますよね!そのような時、ウィジェットに新しくサイドバーを追加/登録する方法をご紹介します!
僕は、テーマにtwentyseventeenのchildを使っています。今回、ブログ用のサイドバーを作りたいので、この設定に準じて説明させていただきます。

ウィジェットにサイドバーを追加するためには、次のステップを踏みます。

sidebar.phpをコピーしてsidebar-blog.phpを作る


まずは、sidebar-blog.phpを作ります。
もともとの親テーマにある、sidebar.phpをコピーし、childのフォルダに保存して使えば良いので、超簡単です!

  • sidebar.phpをコピーして、sidebar-blog.phpを作ります。-(ハイフン)後の名前は、任意です。用途に応じて決めれば良いでしょう。
  • is_active_sidebar()の引数を、functions.phpのregister_sidebarで登録するidに合わせます。’sidebar-4’としています。
  • dynamic_sidebar()の引数も’sidebar-4’とします。こちらも上記のidと同じです。

sidebar-blog.phpの内容です。

<?if ( ! is_active_sidebar( 'sidebar-4' ) ) {
	return;
}?>
<aside id="secondary" class="widget-area" role="complementary">
	<?php dynamic_sidebar( 'sidebar-4' ); ?>
</aside><!-- #secondary -->

function.phpの編集


resister_sidebar()で、サイドバーを登録します。twentyseventeenのfunction.phpに、既存のサイドバーを登録している部分がありますので、こちらをコピーしてchildのfunction.phpに下記のように記載しました。変更した部分は、’name’と’id’だけです。そのほかのパラメータは、必要に応じて変更すれば良いと思います。


  • nameを、任意の名前にします。Sidebar blogとしています。twentyseventeenの翻訳ファイルに無いと思うので、そのまま表示されると思います。
  • idを、sidebar-4とします。なんでも良いのですが、わかりやすいものが良いでしょう。

function.php(childテーマ)内の記述

register_sidebar( array(
	'name'          => __( 'Sidebar blog', 'twentyseventeen' ),
	'id'            => 'sidebar-4',
	'description'   => __( 'Add widgets here to appear in your sidebar.', 'twentyseventeen' ),
	'before_widget' => '<section id="%1$s" class="widget %2$s">',
	'after_widget'  => '</section>',
	'before_title'  => '<h2 class="widget-title">',
	'after_title'   => '</h2>',
) );

single.phpの編集


ブログ(投稿)のテンプレートは、single.phpに書かれていますので、こちらを編集します。親テーマからコピーしてきます。名前はそのままでOKです!

  • get_sidebar()の引数を”blog”にする。サイドバーのファイル、sidebar-blog.phpの、-(ハイフン)の後の名前を使います。

single.php内の記述

<?php get_header(); ?>
<div class="wrap">
	<div id="primary" class="content-area">
		<main id="main" class="site-main" role="main">
                /* 省略 */
		</main><!-- #main -->
	</div><!-- #primary -->
	<?php get_sidebar("blog"); ?>
</div><!-- .wrap -->
<?php get_footer();

以上のことをすれば、ウィジェットに自分が登録したサイドバーが表示されていると思います。

まとめ

ウィジェットは、サイドバーに限らず様々な使用方法がありますので、勉強してご紹介していければと思っています!
今日も、訪問してくださり誠にありがとうございます。


飛騨高山で畑を耕しながら、フリーランスのWebデザイナーとして活動しています。自然や文化に触れながら、人を癒し和ませるデザインを追求しています!文章作成、イラスト作成、写真撮影やパソコン作業全般が得意で大好きです。工業高校→工業大学で機械や電気の勉強をしていましたが、これからは自然の時代!と思い、自然の中で楽しく元気に暮らし続けることを目標に頑張っています。スピリチュアル大好き。最先端は苦手。時事問題も苦手。新聞は好きです。12年間乗ったクラウンからCAST SPORTへ乗り換え。Mac,iPad,GRATINA 4G(au/京セラ),NIKON COOLPIX P6000,D7200使い。ヘンプアクセサリー作りが趣味。

コメントを残す

メールアドレスが公開されることはありません。