カテゴリー: WordPress 子テーマ

  • WordPressのテンプレートのカスタマイズは子テーマを介して行う

    WordPressには「子テーマ」という仕組みがあります。
    子テーマを作って子テーマ側を編集することで、
    親テーマがバージョンアップしてファイルが上書きされても、
    子テーマで編集した内容は上書きされず、新しいバージョンになっても編集内容が有効になります。
    子テーマを作るのに必要なのは「子テーマ用ディレクトリ」と「CSS」です。
    「functions.php」も必要とされていますが、実際には無くても動きます。
    まずFTPなどでテンプレートが置いてあるディレクトリを開き、子テーマ用のディレクトリを作ります。
    子テーマ用ディレクトリの名前は「親テーマの名前-child」と名づける事が推奨されていますが、別に自分がわかるなら何でも良いのです。
    そして子テーマのディレクトリにCSSファイルを作ります。
    そのCSSには以下の内容を記述します。

    /*
    Theme Name: Child
    Template: templatename
    */

    Childには好きな名称を書きます。
    templatenameは親テーマのディレクトリの名前を書きます。
    最低限、この2つの記述が必要です。
    それから

    @import url(‘../templatename/style.css’);

    を記述して、親テーマのCSSを子テーマへインポートします。
    ただしこれは現在では、子テーマにfunctions.phpを用意して以下の記述を書くことで、CSSをインポートするよう推奨されています。
    子テーマより。

    add_action( ‘wp_enqueue_scripts’, ‘theme_enqueue_styles’ );
    function theme_enqueue_styles() {
    wp_enqueue_style( ‘parent-style’, get_template_directory_uri() . ‘/style.css’ );
    }

    これを記述する必要から「functions.php」も必要と説明されているのです。
    ちなみに子テーマのfunctions.phpの関数と親テーマのfunctions.phpの関数が重複している場合、エラーとなりますが、
    親テーマで関数の定義の仕方を「条件付き定義」にしている場合はエラーにはなりません。
    あとはカスタマイズしたいテンプレートファイルを子テーマへコピーし、子テーマの方を編集します。
    例えばブログのトップページを弄りたい場合は「index.php」をコピーして編集します。