WordPressでプラグインなしでカスタム投稿を作成し、タクソノミーの一覧を作り、チェックの入った記事のみトップに表示させる

先日、WordPressで、

・カスタム投稿を追加
・カスタム投稿に任意のカスタムフィールドを追加
・カスタム投稿には詳細ページがある
・カスタム投稿にはタクソノミーでの一覧ページがある
・カスタム投稿の指定の記事のみトップページに表示

を実装する案件がありました。
上記のような仕様は結構多くあるので、
この際、プラグインを使用せず、function.phpにそのまま突っ込んでいった方が、
今後の案件などの時に、いちいちプラグインを入れず、コピペで出来るので、
その方が早く出来そうなので、この際内容をまとめて公開してみます。

今回の例では

・「取扱商品」というカスタム投稿を作成し
・「取扱商品」には「価格」と「容量」という
・「https://sample.com/item/」というURLをカスタム投稿のトップページにする

場合として公開するので、必要に応じてご変更ください。
では行きましょう~

カスタム投稿を追加

これは簡単ですね。
functions.phpに下記を記載します。

こんな感じです。supportsの部分は、必要に応じて追加、変更してください。

カスタムフィールドの設定

ここでは、
「価格」と「容量」の入力欄と
任意の記事を表示させるためのチェックボックス「おすすめ商品」を
「商品データ」というカスタムフィールドボックスで作成します。

またまた、functions.phpに

こんな感じで記載します。
ここまで入れると、「取扱商品」というカスタム投稿が表示され、
記事作成欄にカスタムフィールドが出ているはずです。

こんな感じ。
続いて、「取扱商品」のタクソノミーを作成します。
function.phpに下記を追加

ここまで行くと、「取扱商品」に「取扱商品カテゴリ」が表示されてるはずです。

入力側は、これで完了です。
試しに、何記事が入力しておくと良いと思います。

続いて出力側です。
出力側では

・archive-item.phpの作成
・taxonomy.phpの作成
・single-item.phpの作成
・home.php(front-page.php / index.phpなどトップのテンプレート)に「おすすめ商品」を表示させる記述

を行います。

archive-item.phpの作成

こんな感じですねー。
続いてtaxonomy.phpです

一緒ですね笑!
single-item.phpは、カスタムフィールを表示させるための記述が必要ですね。

こんな感じでいかがでしょうか?
最後は、トップページに「おすすめ商品」がチェックされた記事のみ表示させます!

・・・

最後が一番大切なのですが、
「必ずパーマリンク設定の変更を保存」を行ってください!!
そうしないと、ページが表示されませんよ!!!

これで完成です。
いかがでしたでしょうか。
結構汎用性が高いので、いちいちプラグインを入れるよりも、
直接入力した方が早いと思います。

それでは。

役に立った 10

役に立ったボタン設置してみました。是非押していってくださいm(__)m(2020年4月設置)

この記事を書いた人

mako110

原宿でWEBディレクターをやっています。
WEB業界に携わって約15年。独立して7年目です。
自分らしく、働きやすく、周りの人の役に立つ。
そんな仕事をゆるゆるとやっています。