【WordPress】カスタムページテンプレートのデフォルトテンプレートを変更する方法

【WordPress】カスタムページテンプレートのデフォルトテンプレートを変更する方法

制作・開発

投稿の属性から選択できるテンプレートを「デフォルト」以外を初期選択された状態にする方法のメモです。

自作テーマではなく、配布・販売されているテーマで用意されたテンプレートの初期値を変えるときなどに使えるカスタマイズだと思います。

投稿テンプレートの初期値を変更する

投稿を新規追加したときのデフォルトテンプレート

下記記事のように、カスタムページテンプレートを作成している場合、投稿の設定でテンプレートを選択できるようになります。

【WordPress】固定ページのテンプレートを管理画面から選択できるようにする方法
「特定の固定ページだけデザインを変えたい」という場合、スラッグが決まっていたり、既に投稿があれば「page-{slug}.php」や「page-{ID}.php…
yosiakatsuki.net

このテンプレート選択は新規追加時は「デフォルト」になっていますが、使用するテーマや運営方針によって別のテンプレートをデフォルトで使用したい場合、下記のようなカスタマイズで初期値を変えることができます。

add_filter(
  'default_post_metadata',
  function ( $value, $object_id, $meta_key ) {
    if ( '_wp_page_template' === $meta_key ) {
      if ( '' === $value ) {
        // デフォルトで使用したいテンプレート名に適宜変更する.
        $value = 'page-template/template-blank-wide.php';
      }
    }

    return $value;
  },
  10,
  3
);

default_post_metadataでカスタムフィールドの初期値を変更します。

投稿テンプレートの情報が保存される_wp_page_templateキーの値を使用したいテンプレート名(ファイルパス)に変更します。

投稿の新規追加→使用するテンプレートを変更する…という操作を毎度やるのは塵も積もって面倒なので、でお風呂つテンプレート以外を使うことが決まっている場合は上記カスタマイズを参考にしてみてください。

ではまた。