[wp]カスタム投稿内で個別のテンプレートを指定する方法

そういえば初めてだわ

どういうことか

カスタム投稿「service」を作ると、以下の形になる。

アーカイブ:https://example.com/service/
投稿:https://example.com/service/***

投稿ページのテーマファイルは以下の形になる。

single-service.php

今回、投稿ページに、この汎用的なテーマファイルじゃなくて、別途用意したテンプレートを使用したい。

固定ページではよくやる方法だけど、この場合どうしたらいいかという話。

やっていく

まず安心するために、不通に可能であるということを言っておく。

前述と同様にカスタム投稿「service」でやっていくとする。

まず、ファイル名から。

single-service-【任意の文字列】.php

例えばsingle-service-tmp01.phpとか。

投稿だから「single」、カスタム投稿だから「service」、それにテンプレート名が続くという内訳。

このファイルを以下の形から書き始める。

<?php
/*
Template Name: tmp01
Template Post Type: service
*/
?>

固定ページでテンプレートを作るときでおなじみの「Template Name」に、「Template Post Type」が加わる形。

「Template Post Type」はカスタム投稿のスラッグを記述する。
「Template Post Type」がないとテンプレートとして機能しない。

これをアップしてカスタム投稿「service」で投稿編集ページに行けば、テンプレートが選べるようになっている。

「Template Name」はファイル名末尾と同じ、またはそれを含むようにしておくと混乱しないと思う。

以上。

コメント

タイトルとURLをコピーしました