2か月前にSTINGER5を利用してブログを始めました。ところが、もうSTINGER6が公開されているのを知りました。新しい物好きなもので、早速バージョンアップしてみました。
カスタマイズなど少ししかしてないのでスムーズにいきました。STINGER5と今度のSTINGER6では、ウィジェットがちょっと違っていました。で、ここは書き換えることになりましたのでメモしておきます。
functions.phpファイルは、他のPHPファイルと違って子ファイルで上書きしてくれません。子ファイルを読み込んで親ファイルを読み込みます。なので、一工夫がいります。
以前、パーマリンクが日本語になるといって言っていましたが、これは「STINGER管理」の「日本語パーマリンクを自動変換する」にチェックを入れるのを忘れていたためでした。強制的に修正する方法は削除しました。すみません。
スタイルシートのインポート
まず最初に。
カスタマイズには関係ないですが、Wordpressのサイトによると、子テーマのスタイルシートに親テーマのスタイルシートを @import を使用してインポートするのは良い方法ではないとのことが書いてありました。
STINGER5の時もそうでしたが、長い方のを使用します。
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array('parent-style')
);
}
ウィジェットの追加
STINGER6では新たに、「投稿記事の下に一括表示」と「固定記事の下に一括表示」が追加されました。
私はこれに、
・サイドバー上300px用
・一覧記事下一括表示
・関連記事下一括表示
・ページナビ下一括表示
の4つを追加しました。
サイドバー上300px用は、
register_sidebar( array(
'id' => 'sidebar-7',
'name' => 'サイドバー上300px用',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
他は、「投稿記事の下に一括表示」と一緒にしました。
register_sidebar( array(
'id' => 'sidebar-8',
'name' => '一覧記事下一括表示',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '<div class="kizi-under-box">',
'after_widget' => '</div>',
'before_title' => '<p style="display:none">',
'after_title' => '</p>',
));
2行目のid のところは、親で sidebar-6 まで作られていますから、新しく作るのは順に sidebar-7 から割り振りします。
この部分は親を読み込んでから読み込むようにします。
サムネイルを作らない
WordPressの「メディア設定」で、サムネイルのサイズをゼロにしても作られてしまいます。STINGERで作るようにしているのでしょう。私は、作らないようにしています。
// サムネイル 中、大、作成しない
add_image_size( 'st_thumb100', 0, 0, true );
add_image_size( 'st_thumb150', 0, 0, true );
この部分も親を読み込んだ後に読み込ませます。
ヘッダー画像の大きさ変更
画像の幅を1000px、高さを300pxにしました。
$custom_header = array(
'random-default' => false,
'width' => 1000,
'height' => 300,
'flex-height' => true,
'flex-width' => false,
'default-text-color' => '',
'header-text' => false,
'uploads' => true,
'default-image' => get_stylesheet_directory_uri() . '/images/af.png',
);
add_theme_support( 'custom-header', $custom_header );
まとめ
簡単にまとめますと、
- 11行目
st_register_sidebarsが無いなら(子を先に読み込むから親にあるst_register_sidebarsは無い事になる)、 - 12行目
last_loadが無いなら(last_loadはまだ作ってないから無い)、 - 13行目
last_loadを作る - 16~56行目
last_loadの内容 - 60行目
すべてのテーマを読み込んだらlast_loadを読み込む。
functions.phpとファイル名を付けて、子テーマのフォルダにアップします。
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array('parent-style')
);
}
if ( !function_exists( 'st_register_sidebars' ) ) {
if ( !function_exists( 'last_load' ) ) {
function last_load() {
// ウイジェット追加
register_sidebar( array(
'id' => 'sidebar-7',
'name' => 'サイドバー上300px用',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
register_sidebar( array(
'id' => 'sidebar-8',
'name' => '一覧記事下一括表示',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '<div class="kizi-under-box">',
'after_widget' => '</div>',
'before_title' => '<p style="display:none">',
'after_title' => '</p>',
));
register_sidebar( array(
'id' => 'sidebar-9',
'name' => '関連記事下一括表示',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '<div class="kizi-under-box">',
'after_widget' => '</div>',
'before_title' => '<p style="display:none">',
'after_title' => '</p>',
));
register_sidebar( array(
'id' => 'sidebar-10',
'name' => 'ページナビ下一括表示',
'description' => '「テキスト」をここにドロップしてコードを入力して下さい。タイトルは反映されません。',
'before_widget' => '<div class="kizi-under-box">',
'after_widget' => '</div>',
'before_title' => '<p style="display:none">',
'after_title' => '</p>',
));
// サムネイル 中、大、作成しない
add_image_size( 'st_thumb100', 0, 0, true );
add_image_size( 'st_thumb150', 0, 0, true );
}
}
}
// 最後に読み込み
add_action( 'after_setup_theme', 'last_load' );
// ヘッダ画像サイズ変更
$custom_header = array(
'random-default' => false,
'width' => 1000,
'height' => 300,
'flex-height' => true,
'flex-width' => false,
'default-text-color' => '',
'header-text' => false,
'uploads' => true,
'default-image' => get_stylesheet_directory_uri() . '/images/af.png',
);
add_theme_support( 'custom-header', $custom_header );
?>
コメント