今回からは、最後のfront-page.phpの作成に入っていきます。
- 開発環境の用意
- テーマ初期設定
- index.php(一覧表示)
- sidebar.php(サイトバー部分)
- single.php(記事ページ)
- front-page.php(サイトのトップページ)
……が、その前に、PORTFOLIOセクションからリンクするページを作りましょう。
ブログ記事とは別に、手掛けた仕事・作品を紹介できるようにします。
1.カスタム投稿タイプとは
WordPressにはカスタム投稿タイプという機能があります。 カスタム投稿タイプはワードプレスの通常の「投稿」とは別に、投稿する機能を追加することです。
通常の「投稿」はブログ寄りの内容、ある程度鮮度がある情報に使うことが多いです。 固定ページは反対に、鮮度が関係ない普遍的な情報であったり、1ページ内で完結する情報を掲載することが主になっています。
カスタム投稿タイプは、その中間のようなイメージです。 特定の項目を決め、それに関連する投稿を別仕立てに出来る機能です。
今回のPORTFOLIO部分(制作物の紹介)のようにブログ的な投稿にも、固定ページにも当てはまらない情報をまとめるにはうってつけの機能です。 カスタム投稿タイプを加えることで、投稿内でカテゴリーによって分けるよりも管理しやすく、ユーザーにも分かりやすい構造にすることが出来ますよ。
説明だけではピンとこないかもしれません。 実際に作ってみましょう。
2.カスタム投稿タイプを新設する
カスタム投稿タイプを作成するにはいくつか方法があります。 今回は「Custom Post Type UI」というプラグインを使用します。
WordPressの管理画面から、プラグインの新規追加画面を開いて下さい。 「Custom Post Type UI」をインストール&有効化します。
すると左のメニューに「CPT UI」という項目が追加されます。 投稿タイプの追加と編集、をクリックしてください。
↓
追加画面が開きました。
フォームに投稿タイプスラッグとラベルを打ち込みましょう。
後のfunctions.phpの記述や、front-page.phpを作るときにもこのスラッグは使用します。
今回は投稿タイプスラッグを「works」に設定しておいてください。
三か所入力したら、左下にある「投稿タイプを追加」ボタンをクリック。 左メニューに設定したカスタム投稿タイプ名(ラベル名)が表示されるようになります。
3.functions.phpに記述
functions.phpに下記コードをコピーして貼り付けて下さい。 このコードはカスタム投稿(works)のタグ・カテゴリーを、通常の投稿と共通で使えるようにするためのものです。
functions.php
<? //この行はコピーしない
// カスタム投稿のタグとカテゴリーを、通常投稿のものと一緒に表示する
function add_post_tag_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_tag()) {
$wp_query->set( 'post_type', array('post','works'));
return;
}
if ($wp_query->is_main_query() && $wp_query->is_category()) {
$wp_query->set( 'post_type', array('post','works'));
return;
}
}
add_action( 'pre_get_posts', 'add_post_tag_archive');
【functions.php全体図】
4.カスタム投稿を投稿
作成したMy Worksに投稿を追加してみましょう。 新規追加をクリックしてください。
通常の投稿と同じくエディター画面に変わります。
使い方も通常投稿とほぼ一緒です。 フロントページの表示確認用に、下記3つの投稿を作ってください。 タイトルとアイキャッチが設定されていれば、本文は空もしくはサンプルテキストで良いです。
4.カスタム投稿のカテゴリーを作る
カスタム投稿タイプもsingle.phpをテンプレートに出力されます。 このままだと下図のようにカテゴリーのところが空欄になってしまうので、カテゴリーを設定してみましょう。
カスタム投稿のみ有効なタクソノミーを作ることも出来るのですが、今回は通常の投稿と同じカテゴリーを使います。
CPT UI>投稿タイプの追加と編集画面から「投稿タイプを選択」タブを開いてください。
ページの一番下までスクロールしてください。 タクソノミーという項目があります。 ここにチェックを入れると通常投稿で使用しているタグ/カテゴリーが使用できるようになります。両方にチェックを入れて「投稿タイプを保存」ボタンをクリックしてください。
Worksのエディタ画面を開いてください。 カテゴリーやタグが選べるようになっているはずです。
どれかのカテゴリーにチェックを入れ「更新」してみて下さい。 プレビューを見ると、空欄が埋まっているはずです。
これでカスタム投稿タイプの作成は完了です。