Navigation

register_sidebar() でウィジェットエリアを登録し出力する方法

📅 7月 7, 2025
👤
1 min read

概要

WordPressのテーマ開発において、register_sidebar() 関数を使用してウィジェットエリアを登録し、ウィジェットを出力する方法について解説します。

ユースケース

ウィジェットエリアをテーマに追加したい場合、register_sidebar() 関数を使用することで、管理画面からウィジェットを追加し、動的に表示することができます。

前提条件

  • WordPressのテーマ開発環境が整っていること
  • functions.php ファイルにコードを追加できる権限があること

サンプルコード


// functions.php に以下のコードを追加
function custom_theme_widgets_init() {
    register_sidebar( array(
        'name' => 'Main Sidebar',
        'id' => 'main_sidebar',
        'description' => 'Main sidebar widget area',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h2 class="widget-title">',
        'after_title' => '</h2>',
    ) );
}
add_action( 'widgets_init', 'custom_theme_widgets_init' );

解説

  • register_sidebar() 関数を使用して、メインサイドバー用のウィジェットエリアを登録しています。
  • 'name' でウィジェットエリアの名前を指定し、'id' で識別子を設定します。
  • 'before_widget'、'after_widget'、'before_title'、'after_title' はウィジェットのラップ要素を指定するためのオプションです。

ベストプラクティス

  • ウィジェットエリアの登録後は、管理画面の外観 > ウィジェットからウィジェットを追加して表示できます。
  • 複数のウィジェットエリアを登録する場合は、同様の手順で register_sidebar() を複数回呼び出すことができます。
← Back to WordPress