ホルダーを指定して、その中の画像を管理パネルのカスタムヘッダーに含めます。
画像ファイルは、ヘッダー画像の大きさを統一(テーマのデフォルトサイズ)することと、サムネール画像とセットで存在することが必須です。
チャイルドテーマの場合は、チャイルドテーマに指定したホルダがあれば、それを追加、なければ、親テーマの指定ディレクトリの画像を読み込みます。
テーマのfunctions.phpに追加します
<?php add_action( 'after_setup_theme', 'header_setup' ); function header_setup(){ /* ヘッダー画像ホルダthemes / images / testを指定して、png jpgファイルを、カスタムヘッダー管理画面に追加する例*/ my_register_header_images( array('png','jpg'),array(),'images/test/' ); } /** * ヘッダー画像のホルダを指定する * * * $support_file_type 許可する拡張子を配列で指定 * $exclude_file 除外ファイルのファイル名を配列で指定 * $header_dir テーマルートからヘッダ画像ホルダのパス */ function my_register_header_images ( $support_file_type= array(), $exclude_file= array(), $header_dir= 'images/headers/') { $header_images = array(); if( empty( $support_file_type ) ) { $support_file_type= array( 'jpeg', 'jpg', 'png' ); } if ( is_child_theme() && file_exists( trailingslashit( get_stylesheet_directory() ). $header_dir ) ) { $img_dir_path= trailingslashit( get_stylesheet_directory() ). $header_dir; $img_dir_uri = trailingslashit( get_stylesheet_directory_uri() ). $header_dir; } else { $img_dir_path= trailingslashit( get_template_directory() ). $header_dir; $img_dir_uri = trailingslashit( get_template_directory_uri() ). $header_dir; } $img_lists= scandir($img_dir_path); foreach( $img_lists as $list ) { if ( $list !== '.' && $list !== '..' && !preg_match( ' |thumbnail |u',$list ) ) { $file_path= $img_dir_path. $list; $file_info= pathinfo( $file_path ); $file_name= $file_info["basename"]; $file_type= $file_info["extension"]; $name = $file_info['filename']; if ( ! in_array($file_type, $support_file_type ) ) { continue; } if( ! empty( $exclude_file ) && in_array($list, $exclude_file ) ) { continue; } $uri = esc_url( $img_dir_uri. $file_name ); $uri_thumb = esc_url( $img_dir_uri. $name.'-thumbnail'.'.'. $file_type ); $description= $name; $header_images[ $name ]= array( 'url'=> $uri, 'thumbnail_url'=> $uri_thumb, 'description'=> $description ); } } if( !empty( $header_images) ) { register_default_headers($header_images); } } ?>