概要
dynamic_sidebar関数は、WordPressのウィジェットエリアを簡単に表示するために使用される関数です。この関数を使用すると、テーマにウィジェット機能を追加し、ユーザーがコンテンツをカスタマイズできるようになります。主に以下のような機能を実装する際によく使われます。
- サイドバーにウィジェットを追加する
- フッターエリアにウィジェットを配置する
- カスタムウィジェットエリアの作成
- 動的なコンテンツ表示を行う
- メニューやリンクリストをサポートする
- RSSフィードを表示する
- ソーシャルメディアリンクを配置する
- ユーザー情報やプロフィールの表示
構文
dynamic_sidebar( $index );
パラメータ
$index(string)(省略可能): 表示するサイドバーの名前、または登録されたウィジェットエリアのID。
戻り値
dynamic_sidebar関数は、ウィジェットが正しく登録されている場合はtrueを返し、登録されていない場合はfalseを返します。
関連する関数
使用可能なバージョン
dynamic_sidebar関数は、WordPress 2.2以降で使用可能です。
コアファイルのパス
wp-includes/widgets.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | 〇 |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプル1: 一般的なサイドバー表示
このサンプルコードは、サイドバーを表示する基本的な使い方を示しています。
if ( is_active_sidebar( 'primary-sidebar' ) ) {
dynamic_sidebar( 'primary-sidebar' );
}
引用元: https://codex.wordpress.org/Function_Reference/dynamic_sidebar
サンプル2: サイドバーの条件付き表示
このサンプルは、特定のページでのみサイドバーを表示する方法を示しています。
if ( is_page( 'about' ) && is_active_sidebar( 'about-sidebar' ) ) {
dynamic_sidebar( 'about-sidebar' );
}
引用元: https://developer.wordpress.org/reference/functions/dynamic_sidebar/
サンプル3: フッターエリアへのウィジェット表示
このコードは、フッターにウィジェットを表示する例です。
if ( is_active_sidebar( 'footer-1' ) ) {
dynamic_sidebar( 'footer-1' );
}
引用元: https://www.wpbeginner.com/wp-tutorials/how-to-add-widget-areas-in-wordpress-themes/
サンプル4: 特定のウィジェットを表示するサンプル
このサンプルは、特定のウィジェットエリアを表示する例です。
if ( is_active_sidebar( 'custom-widget-area' ) ) {
dynamic_sidebar( 'custom-widget-area' );
}
引用元: https://www.taniarascia.com/creating-a-widget-area-in-wordpress/
サンプル5: 動的にサイドバーを更新する例
このコードは、サイドバーのコンテンツを動的に更新する方法を示しています。
if ( is_active_sidebar( 'sidebar-1' ) ) {
dynamic_sidebar( 'sidebar-1' );
}
引用元: https://www.sitepoint.com/using-sidebars-in-wordpress/