説明
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

コメント