🌸ある程度WordPressに慣れたクライアントで、サイドバーの項目を編集したいと要望があった場合などはこの手順で作ろう!
※基本的には8-2. のようにテンプレートに直書きで固定することが多い。詳しくは8-2. を参照のこと
【目次】
ウィジェットを有効化にするためのコードを「functions.php」に記述する
/**
* ウィジェットの登録
*
* @codex <http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_sidebar>
*/
function my_widget_init() {
register_sidebar(
array(
'name' => 'サイドバー', //表示するエリア名
'id' => 'sidebar', //id
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget-title">',
'after_title' => '</div>',
)
);
}
add_action( 'widgets_init', 'my_widget_init' );
管理画面をリロードし、「外観」に「ウィジェット」が追加されているか確認、1.の「name」に記述した名前の欄が右側にできているかも確認する (今回でいうと「サイドバー」が登録されていればOK)

🌸register_sidebar() は名前だけ見るとサイドバーしか登録できなさそうに見えるが、この関数で記事上・記事下・フッターなど自由にウィジェットエリアを登録できる。
「sidebar.php」にウィジェットエリア「サイドバー」を表示させるためのコードを記述する
<!-- secondary -->
<aside id="secondary">
<?php if ( is_active_sidebar( 'sidebar' ) ) : ?>
<?php dynamic_sidebar( 'sidebar' ); ?>
<?php endif; ?>
</aside><!-- secondary -->
//置き換え前
<!-- secondary -->
<aside id="secondary">
<!-- widget -->
<div class="widget widget_text widget_custom_html">
<div class="widget-title">プロフィール</div>
・・・
</div><!-- /widget -->
<!-- widget -->
<div class="widget widget_search">
<div class="widget-title">検索</div>
・・・
</div><!-- /widget -->
・・・
</aside><!-- secondary -->
これで「sidebar.php」に「サイドバー」で設定した項目を表示させる準備が整った
🌸is_active_sidebar()・dynamic_sidebar()も名前はサイドバー専用っぽい関数だが、ウィジェットエリアを表示させる時には常にこの関数を使う。