is_active_sidebar() の使い方|説明・引数・注意点

説明

is_active_sidebar() は、ウィジェットエリアにウィジェットが配置されているかを判定する関数です。

基本構文

is_active_sidebar( string|int $index ): bool

引数

  • $index:サイドバーのIDまたは名前

戻り値

ウィジェットがあれば true。

使い方(サンプル)

if ( is_active_sidebar( 'main-sidebar' ) ) {
	// サイドバーを表示
}

注意点

  • 登録されているだけでなく、ウィジェットが配置されている場合のみ true です。

実務での使いどころ

  • ウィジェットが置かれているときだけ、サイドバーの枠や、レイアウトを、出すとき。

よくあるミスと対処

  • widgets_init より前に呼び、判定が、正しくない。
  • id が、登録したものと、違い、常に false になる。
  • is_active_sidebar() で判定せず、空のサイドバーが、表示される。

NG例

if ( is_active_sidebar( 'sidebar' ) ) { // 登録したIDは sidebar-main で、常に false
	dynamic_sidebar( 'sidebar' );
}

OK例

if ( is_active_sidebar( 'sidebar-main' ) ) {
	dynamic_sidebar( 'sidebar-main' );
}

使い分け早見表

関数 役割
is_active_sidebar() ウィジェットが、置かれているかを確認する
dynamic_sidebar() ウィジェット領域を、出力する
register_sidebar() ウィジェット領域を、登録する

関連項目

dynamic_sidebar()、register_sidebar()

公式リファレンス:is_active_sidebar() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました