本ブログでは、提供されているテーマに対する変更は「子テーマ」を作成して修正を実施することが推奨されています。当然ですが、本ブログもその推奨をしっかり守って実践しています。
子テーマとは
「子テーマ – WordPress Codex 日本語版」によれば・・・
子テーマは、親テーマと呼ばれる別のテーマの機能とスタイルを継承したテーマです。既存のテーマを変更する方法として、子テーマが推奨されています。出典:「子テーマ – WordPress Codex 日本語版」より
即ち、本ブログでは親テーマである「Wellington」の機能とスタイルを継承した「子テーマ」ということになります。更に「子テーマ」を利用するメリットは、以下の通りです。
- テーマを直接変更した場合、そのテーマがアップデートされると変更が失われるかもしれません。子テーマを使用すればテーマの変更は確実に保持されます。
- 子テーマを使用することで開発時間を短縮できます。
- 子テーマの使用することでWordPressのテーマの開発を良い形で学べます。
「子テーマ」の作り方の基本
「子テーマ」は、最低限、子テーマディレクトリと、子テーマディレクトリ内に 2 つのファイル(style.css と functions.php))で構成します。本ブログの場合、子テーマディレクトリとして「wellington-child」を設定し、style.css と functions.php というファイルを置くだけです。
本ブログにおける style.css と functions.php の初期内容を掲載しておきます。先ずは、style.css より。
/*
Theme Name: Wellington Child
Theme URI: https://themezee.com/themes/wellington/
Description: Wellington Child Theme
Author: ThemeZee as the Original
Author URI: https://themezee.com/
Template: wellington
Version: 1.0
*/
注意すべき点は・・・
以前は「@import:」を使用して親テーマのスタイルシートをインポートしていましたが、これはもはや良い方法ではありませんので注意してください。親テーマのスタイルシートをキューに入れる正しい方法は、子テーマの functions.php で「wp_enqueue_script()」を使用する方法です。出典:「子テーマ – WordPress Codex 日本語版」より
上記からもわかる通り、もう一つの重要なファイル、functions.php のコードを示しておきます。
<?php
/*---------------------------------------
Style を @import を利用せずに読み込む
参考サイト:http://delaymania.com/201504/wordpress/wordpress-child-css-import/
-----------------------------------------*/
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
上記のファイルに、自分のコードをどんどん書き加えていけば、親テーマの基本を継承しながら、自分流の「子テーマ」を構築できるようになるはずです。
「子テーマ」を更に進化させる!?
「子テーマ」ディレクトリには、上記の style.css と functions.php ファイル以外にも header.php、footer.php、更には single.php 等も配置することができる・・・ということを学びました!
style.css や functions.php だけではなく、header.php や footer.php や single.php もあると便利だと思います。(中略)header.php、footer.php、single.php は丸々コピーするだけです。 親テーマより子テーマの方が優先されて丸々上書きされます。出典:「WordPress の子テーマの作り方〜header.php や footer.php や single.php もあると便利」より
なるほど!これを知れば色々と変更を掛けることができそうです。本ブログでも上記を参考に header.php と footer.php に修正を掛けています。
header.php は、日本語のウェブフォントを利用するためのコード、footer.php は、コピーライトの行を挿入するためにちょっとした変更を掛けています。
hearder.php を修正する
修正前の親テーマの header.php を以下の通りです。
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
この親テーマの header.php に 日本語の Google Web Font を適用するためのコードを挿入しています。 下記のコードの下から 3 行目が「子テーマ」特有のコードです。
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<link rel='stylesheet' id='noto-sans-ja-site-css' href='//fonts.googleapis.com/earlyaccess/notosansjp.css' type='text/css' media='all' />
<?php wp_head(); ?>
</head>
上記を挿入することで、ブログの全てのページに新しいフォントが利用できるようになり、日本語を美して見せる工夫ができるようになります(自己満足!)。
footer.php 部分では、オリジナルのコピーライト行を挿入したくて、以下の親コードを利用しています。
<div id="footer-text" class="site-info">
<?php do_action( 'wellington_footer_text' ); ?>
</div><!-- .site-info -->
上記から「<div class=”site-info”> ~ </div><!– .site-info –>」の間のタグ部分(「~」の部分)を書き換えれば良い!そこで、以下のようなコードに書き換えました。
<div id="footer-text" class="site-info">
Copyright © 2017-<?php echo date("Y"); a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?> </a> by Zero Cool. All Rights Reserved.
<?php do_action( 'wellington_footer_text' ); ?>
</div><!-- .site-info -->