2026年5月30日

2026年5月30日

WordPressのCustom Templatesをコードで管理する方法

はじめに

この記事では、WordPressサイトのカスタムテンプレートを効率的に管理するための方法について説明します。カスタムテンプレートを使用することで、特定のページや投稿に対して独自のデザインや機能を適用することができます。しかし、これらのテンプレートは個別に作成し、ファイルシステム上で直接編集を行う必要があるため、管理が複雑になります。

症状・背景

このテーマが必要になる主な場面:

  • サイトの特定ページに対して独自デザインや機能を適用する
  • テンプレートの更新や修正時に管理の煩雑さを感じる
  • ファイルシステム上で直接編集を行うことで、バージョン管理が難しい場合

手順・設定方法

ステップ1: カスタムテンプレートの作成と保存

カスタムテンプレートを作成し、ファイルシステム上に保存します。

# テンプレート用ディレクトリを作成
mkdir -p wp-content/themes/your-theme/templates/custom-template

# 新規テンプレートファイルを作成
touch wp-content/themes/your-theme/templates/custom-template/single-custom.php

# ファイルを開き、必要なPHPコードを記述します。

ステップ2: カスタムテンプレートの呼び出し設定

作成したカスタムテンプレートを使用するためには、そのテンプレートがWordPressによって認識されるように指定する必要があります。

# ファイルを開き、以下のようなコードを追加します。
function custom_template_include($single) {
    if ( is_single() && get_post_type() == 'custom-post-type' ) {
        return get_stylesheet_directory() . '/templates/custom-template/single-custom.php';
    }
    return $single;
}
add_filter( 'single_template', 'custom_template_include' );

ステップ3: カスタムテンプレートの応用

カスタムテンプレートをさらに拡張し、複数のページや投稿タイプで利用する。

# ファイルを開き、以下のようにテンプレート呼び出しルールを追加します。
function custom_template_include($single) {
    if ( is_single() && get_post_type() == 'custom-post-type' ) {
        return get_stylesheet_directory() . '/templates/custom-template/single-custom.php';
    }
    elseif ( is_page('about') ) { // 特定のページに対するカスタムテンプレート
        return get_stylesheet_directory() . '/templates/custom-template/page-about.php';
    }
    return $single;
}
add_filter( 'single_template', 'custom_template_include' );

ステップ4: カスタムテンプレートのトラブルシューティング

カスタムテンプレートを使用した際に問題が発生した場合、以下のような手順で確認を行う。

# ファイルを開き、テンプレートを呼び出すコードにエラーがないか確認します。
function custom_template_include($single) {
    if ( is_single() && get_post_type() == 'custom-post-type' ) {
        $template_path = get_stylesheet_directory() . '/templates/custom-template/single-custom.php';
        if (!file_exists($template_path)) { // ファイルが存在しない場合
            return $single;
        }
        else {
            return $template_path; // 存在する場合はテンプレートを返す
        }
    }
    return $single;
}
add_filter( 'single_template', 'custom_template_include' );

注意事項

  • カスタムテンプレートファイルを作成する際は、その名前と位置が正しく設定されていることを確認してください。
  • テンプレート呼び出しルールを適切に作成することで、複数のページや投稿タイプに対してカスタムテンプレートを使用することができます。ただし、パターンが複雑になると管理が難しくなるため、シンプルなルール設計を心掛けましょう。
  • セキュリティ上、テンプレートファイルへのアクセス制限を設定することを検討してください。
  • テンプレートの更新や修正は必ずバックアップを取り、バージョン管理ツールを使用して行うことを推奨します。

まとめ

1. テンプレート作成: カスタムテンプレートを作成し、ファイルシステム上に適切な位置で保存します。

2. テンプレート呼び出し: WordPressがカスタムテンプレートを認識するように設定します。

3. 応用: テンプレートの使用範囲を拡張できます。

4. トラブルシューティング: カスタムテンプレートを使用した際に問題が発生した場合、適切な対策を行います。

5. 管理とセキュリティ: テンプレートファイルの管理やアクセス制限を設定して安全に使用します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ