【WordPress】カスタム投稿ごとにエディタの初期テンプレートを設定する方法

【WordPress】カスタム投稿ごとにエディタの初期テンプレートを設定する方法 WordPress

WordPressでは、投稿画面にあらかじめ入力済みのテンプレートを表示させることで、執筆時の手間を省いたり、フォーマットを統一したりすることが可能です。この記事では、特定のカスタム投稿タイプに対してのみ、投稿画面の本文エディタに初期コンテンツ(テンプレート)を自動挿入する方法を紹介します。

functions.phpにコードを追加する

以下のコードを、使用しているテーマまたは子テーマの functions.php に追加してください。対象の投稿タイプ(例:custom_post)にだけテンプレートを設定します。

// エディタに初期コンテンツを設定
function set_default_editor_content( $content, $post ) {
    // 対象の投稿タイプを確認
    if ( $post->post_type === 'custom_post' && $post->post_status === 'auto-draft' ) {
        // 初期テンプレートを設定
        $template = "<h2>見出し</h2>\n\n本文をここに記入してください。\n\n<ul>\n<li>ポイント1</li>\n<li>ポイント2</li>\n</ul>";
        return $template;
    }
    return $content;
}
add_filter( 'default_content', 'set_default_editor_content', 10, 2 );

テンプレートのカスタマイズ例

以下のようなHTML構造をテンプレートとして挿入することができます。

<h2>概要</h2>
ここに概要を入力します。

<h2>詳細</h2>
ここに詳細情報を入力します。

<h2>補足情報</h2>
リストや注意点などがあれば記載してください。

注意点

このテンプレートは「新規追加」時にしか反映されません。すでに保存された投稿には適用されないため、既存記事の編集には影響しません。また、投稿ステータスが auto-draft(=未保存)であることが条件です。

まとめ

カスタム投稿タイプに応じて初期テンプレートを表示させることで、記事作成の効率化や統一感のあるコンテンツ制作が実現できます。運用のルールや投稿者のスキルレベルに応じて、テンプレートの内容を工夫するとより効果的です。