子テーマでサイドバーを最後に追加する
WordPressでテーマをカスタマイズする場合は子テーマを使うのが一般的ですが、子テーマにおいてサイドバーを追加するコードを書く場合に注意する必要があります。
通常はテーマのfunctions.phpにregister_sidebar関数を書いてサイドバーを追加することになります。しかし子テーマのfunctions.phpの後に親テーマのfunctions.phpが読み込まれるため、親テーマが定義するサイドバーより先に子テーマのサイドバーが定義されます。もし親テーマの方で登録した順番を指定してサイドバーを呼び出している場合、呼び出されるサイドバーがズレるという問題が起こります。
そのような場合は、子テーマのfunctions.phpでフックを使って親テーマがサイドバーを追加した後に子テーマのサイドバーを追加するようにすることで問題を回避できます。
add_action( 'init', 'add_sidebar' );
function add_sidebar() {
register_sidebar();
}
登録したサイドバーを呼び出すにはdynamic_sidebar関数を使用します。