![見出し画像](https://assets.st-note.com/production/uploads/images/71360942/rectangle_large_type_2_67f0b56ed2772a4c8da9a268ba19c110.jpeg?width=800)
【 WordPress 】 オリジナルテーマにカスタムサイドバーを追加するよ 投資家のFIREへの旅路 第307回
WordPressのオリジナルテーマにカスタマイズ可能なサイドバーを追加する方法を解説します!!
プラグインとコードコピペで完了です。
【 Custom Sidebars 】
![](https://assets.st-note.com/img/1643856010205-wvQqND02Dg.png?width=800)
まずは、Custom Sidebars というプラグインをインストールします!
このプラグインは、Classic Widgetsというプラグインとセットで使用する必要があります。
【 Classic Widgets 】
![](https://assets.st-note.com/img/1643856114088-fhqC2tDUUz.png?width=800)
続いて、こちらをインストールします。
【 サイドバーをカスタマイズ 】
![](https://assets.st-note.com/img/1643856182795-vwgmmJqbzT.png?width=800)
外観 →
ウィジェット →
新しいサイドバーを作成する →
サイドバーの名前を決める
と進みます。
今回はブログ一覧ページに設置したいので、名前を
「blog -page -sidebar」にしました。
「利用できるウィジェット」の項目から、
サイドバーに入れたいウィジェットを選択します。
今回は、
「検索」
「カテゴリー」
「最近の投稿」
を、入れてみました。
【 サイドバー追加をする 】
サイドバーを設置したい、固定ページ、または、投稿ページの画面へ移動します。
今回は、ブログ一覧ページに、サイドバーを設置したいので、
固定ページ →
新規追加 →
タイトル = blog
スラッグ = blog
と、しました。
![](https://assets.st-note.com/img/1643865514050-qn6H6EJ9JB.png?width=800)
![](https://assets.st-note.com/img/1643865566676-BagmgwJFHj.png?width=800)
このページの右下を見ると、
![](https://assets.st-note.com/img/1643864840324-Dk8sEiP0nI.png)
「サイドバー」という項目が追加されています。
Main Sliderというところをクリックすると、先程、名前をつけたサイドバーの名前「blog-page-sidebar」が選択できます。
【 functions.php 】
[functions.php]
/**サイドバーを有効にする */
function my_theme_widgets_init()
{
register_sidebar(array(
'name' => 'Main Sidebar',
'id' => 'main-sidebar',
));
}
add_action('widgets_init', 'my_theme_widgets_init');
つづいては、オリジナルテーマでサイドバーを有効にするために
functions.phpにこのコードを追記します。
【 サイドバーを表示させるコード 】
<?php if (is_active_sidebar('main-sidebar')) : ?>
<ul class="menu">
<?php dynamic_sidebar('main-sidebar'); ?>
</ul>
<?php endif; ?>
サイドバーを表示させたいページのPHPのファイルにこちらを追記します。
今回は、ブログ一覧を表示する固定ページにサイドバーを設置したいので、
先程作った、
固定ページ
タイトル blog
スラッグ blog
の、PHPファイルに追記することになります。
ちなみ、スラッグが、「blog」なので、
PHPファイルは、page-blog.php という名前にする必要があります。
【 サイドバーを装飾する 】
サイズなどを、調整しやすくするために、
<div>で囲んで、classを指定しました。
[page-blog.php]
<div class="sidebar">
<?php if (is_active_sidebar('main-sidebar')) : ?>
<ul class="menu">
<?php dynamic_sidebar('main-sidebar'); ?>
</ul>
<?php endif; ?>
</div>
そして、SCSS(CSS)で、サイズや、色を指定します。
[SCSS]
.sidebar {
background-color: $backGroundColor3Gray;
padding: 2% 3% 2% 0%;
ul.menu {
list-style: none;
h2 {
font-size: 20px;
background-color: yellow;
padding: 4px 0 4px 10px;
border-radius: 50px 50px;
}
li {
padding-bottom: 10px;
width: 100%;
}
a {
color: gray;
text-decoration: none;
padding: 3%;
}
}
}
このスタイルだと、こうなります。
【 コード解説 】
上記のコードで、このようなサイドバーができます。
![](https://assets.st-note.com/img/1643856643181-lAavPkBA9A.png)
ul.menuで、サイドバーのリストのスタイルを指定できます。
「カテゴリー」「WEBデザイン」「WEBマーケティング」「WordPress」などサイドバー全体の部分です。
今回は、list-style : none ; として、リストの先頭の「・」を消しています。
h2は、「カテゴリー」「最新の投稿」の部分です。
l iは、「WEBデザイン」「WEBマーケティング」「WordPress」などの「カテゴリー」「最近の投稿」部分以外の部分です。
今回は、padding-bottom: 10px; を指定して、余白をつけています。
a は、「WEBデザイン」「WEBマーケティング」「WordPress」などのリンクとなる部分です。color: gray; でリンク文字の色を指定しています。 text-decoration: none; で、リンク文字の下線を消しています。
こんな感じで、色々カスタマイズできます!!
この記事が気に入ったらサポートをしてみませんか?