子テーマのヘッダーに新しいサイドバーウィジェット領域を作成したいです。これを行うための最良の方法は何でしょうか。
これは、親テーマのサイドバーの1つのコードです。
<?php
add_action( 'widgets_init', 'ci_widgets_init' );
if ( ! function_exists( 'ci_widgets_init' ) ) :
function ci_widgets_init() {
register_sidebar( array(
'name' => __( 'Blog Sidebar', 'ci_theme'),
'id' => 'blog-sidebar',
'description' => __( 'The list of widgets assigned here will appear in your blog posts.', 'ci_theme'),
'before_widget' => '<aside id="%1$s" class="widget %2$s group">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title"><span>',
'after_title' => '</span></h3>',
) );
}
name
、id
、およびdescription
を変更して、それを自分の子テーマのfunctions.php
ファイルに入れるだけでいいですか?
まあ、これは私のために働いたものです。私のfunctions.php
ファイルに、私は以下のコードを入れました:
function header_widgets_init() {
register_sidebar( array(
'name' => 'Header Sidebar',
'id' => 'header_sidebar',
'before_widget' => '<aside class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'header_widgets_init' );
...そして、私のheader.php
ファイルで私が使用しました:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('header_sidebar') ) : endif; ?>
答えは「はい」です。ウィジェットを子テーマのfunctions.phpファイルに直接追加しても問題ありません。
一部の親テーマでは、子テーマ内に新しい機能を追加する方法(ヘルパー、クラス、特定のデザインパターンなど)についての推奨事項が記載されているため、理想的なアプローチはテーマによって異なります。
あなたのセットアップに関する追加情報を提供できるかどうか私は詳しく説明します。