概要
- ユースケース: ウィジェットエリアに動的にサイドバーを追加することで、特定のページや投稿にカスタムなコンテンツを表示したい場合に便利です。
- 前提条件: WordPressのテーマファイルにアクセスできる必要があります。
サンプルコード
// functions.phpに以下のコードを追加する
function custom_widget_area() {
register_sidebar( array(
'name' => 'Custom Sidebar',
'id' => 'custom_sidebar',
'description' => 'This is a custom sidebar for specific pages.',
'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_widget_area' );
解説
- `custom_widget_area` 関数は、`register_sidebar` 関数を使用して新しいウィジェットエリアを登録します。
- `name` パラメーターは、管理画面で表示されるウィジェットエリアの名前を指定します。
- `id` パラメーターは、ウィジェットエリアを一意に識別するためのIDです。
- `description` パラメーターは、ウィジェットエリアの説明を追加します。
- `before_widget` と `after_widget` パラメーターは、ウィジェットの前後に追加されるHTMLを指定します。
- `before_title` と `after_title` パラメーターは、ウィジェットタイトルの前後に追加されるHTMLを指定します。
ベストプラクティス
- カスタムサイドバーを追加する際は、テーマの子テーマを使用することをお勧めします。これにより、テーマがアップデートされても変更内容が保持されます。
- サイドバーに表示するコンテンツは、関連記事、CTA(Call to Action)、広告など、ページの目的に合わせて適切に選択してください。