WordPress Tips

WP カスタム投稿タイプでテンプレートの選択、順序を設定する

2021-06-16

本記事にはプロモーションが含まれています。

WP カスタム投稿タイプでテンプレートの選択、順序を設定する

ソラミ♪

Webエンジニアをやりつつ、デザインにも携わる株式会社コムワークの中の人。WordPress、Adobeアプリ、カワウソ好き。 2015年から当ブログ運営|2008年からGmail使用中|WordPress制作10年以上|15社以上のレンタルサーバー利用経験|100件以上のドメイン取得運用|サイト・ドメイン移転多数 »  もっとくわしく

WordPressのカスタム投稿タイプを使っているときに、固定ページのようなページのテンプレートを選択したり、ページの順序を設定したい時に。

因みにカスタム投稿タイプ単独でテンプレートファイルを作る場合は

single-{カスタム投稿タイプ}.php  //シングルページ
archive-{カスタム投稿タイプ}.php //アーカイブページ(ある場合)

ですが、固定ページや他のカスタム投稿タイプともテンプレートを共有したり、複数のテンプレートを用意して記事ごとに選択したい時に使えます。

カスタム投稿タイプでもテンプレートファイルを使えるようにする

通常、テンプレートファイルは固定ページで使います。自作のテンプレートファイルを作成するには

/*
Template Name: テンプレートファイル名
*/

をPHPファイル冒頭に記述します。

このテンプレートファイルをカスタム投稿タイプでも使いたい場合は

/*
Template Name: テンプレートファイル名
Template Post Type: ポストタイプ
*/

Template Post Typeを追記します。
「No Sidebar」という名前のテンプレートを固定ページとitemというカスタム投稿タイプで使いたい場合は以下のようになります。

/*
Template Name: No Sidebar
Template Post Type: page, item
*/

記事編集画面でテンプレートの選択を表示する

記事ごとにテンプレートを選択したい場合は、register_post_type()で

'hierarchical' => true, //固定ページのような階層を持たせる 初期値:false

記事編集画面に親を選択するボックスを表示するためには、'supports' パラメータに 'page-attributes' がなれけれなりません。

'supports' => 'page-attributes'

プラグインもありました

Custom Post Type UIなどのプラグインで、カスタム投稿タイプを設定している場合は、下記のプラグインが良さそうです。

https://wordpress.org/plugins/template-list-metabox-by-010pixel/

  • この記事を書いた人
  • 最新記事

ソラミ♪

Webエンジニアをやりつつ、デザインにも携わる株式会社コムワークの中の人。WordPress、Adobeアプリ、カワウソ好き。 2015年から当ブログ運営|2008年からGmail使用中|WordPress制作10年以上|15社以上のレンタルサーバー利用経験|100件以上のドメイン取得運用|サイト・ドメイン移転多数 »  もっとくわしく

-WordPress Tips