たかなblog

のんびりと色んな情報を発信していきます。

カスタマイズ

カスタム投稿タイプのアーカイブページの作り方

カスタム投稿タイプで記事を作った際、

「新着一覧に表示されない。。」「アーカイブページってどうやって作ったらいいの?」「アーカイブのタイトルが表示されない!」など様々な問題に直面しますよね。
今回は、カスタム投稿タイプを作った際、アーカイブのタイトルが表示されない!というご質問をいただきましたので、その回答記事となります。

カスタム投稿タイプのアーカイブをメニューバーに表示させたい

カスタム投稿タイプの一覧は、残念ながら外観>メニューの項目には表示されません。
ですので、「カスタムリンク}に投稿タイプのアーカイブページを指定して表示させることになります。

アーカイブページのタイトルが、「」一覧 になる

Stingerのテーマを使っているとブチ当たる壁ですね。
Stingerのテーマでは、テーマファイルの「archive.php」の中に記載があります。

カテゴリーのアーカイブならならカテゴリー名を、
タブのアーカイブならタブ名を、
カスタムタクソノミーのアーカイブならタクソノミー名を、、といった具合です。
ですので、カスタム投稿タイプを作り、それをカスタムタクソノミーで分類していれば、そのカスタムタクソノミー名が表示されるわけですね。

ですが、今回の「カスタム投稿タイプ」のアーカイブーページか?の分岐は存在しませんので、「」が表示されてしまうわけです。

解決策

今回ご質問いただいた方は初心者だということで、最も手っ取り早い方法をご案内。

Stingerでカスタム投稿タイプを作る際、最もおすすめなのは、「それ用のアーカイブ用のファイルを作っちゃう」ことです。
例えば喫茶店など飲食店サイトを作ったとして、メニューについては通常のブログとは別に、「menu」というスラッグ名で「メニュー」というカスタム投稿タイプを作るとしますよね。
その場合、「archive-menu.php」というファイルを作ると、メニューというカスタムという投稿タイプのアーカイブページだけは、「archive-menu.php」を見に行ってくれるようになります。

あとは、「archive-menu.php」の先ほど紹介したソースコードの部分を、

に書き換えてしまえばOK。ベタ打ちなので簡単ですし、余計な分岐がない分(本当に本当にわからないほどですが)若干表示が早い、、はず。

ちなみに、アーカイブファイルを作り直すのではなく、archive-menu.phpの分岐に「カスタム投稿タイプのアーカイブページか?」という分岐を付け足して対応する場合は、

という式でカスタム投稿タイプを判別してくれるようですので、組み込んでみるのもありだと思います。
カスタム投稿タイプ名は、

で取得できますよ!

というわけで、今回はご質問に回答する形での記事となりました。
それではまた。


説明がわかりにくかったので追記です。

管理画面のCPT UIから、Add/Edit Post Typesを選びます。
Custom Post Type UI14

画面を開いたら、①「Edit Post Types」をクリックし、②で今回アーカイブ一覧を表示させたい投稿タイプを選択し、selectボタンを押下、③カスタム投稿タイプのスラッグを確認します。
Custom Post Type UI15次に、FTPツールなどを使ってstingerのテーマフォルダに接続し、「archive.php」ファイルをダウンロード。
そのファイルの名前を「archive-確認したスラッグ名.php」に変更してアップロードします。

すると、以下の図のように、外観>テーマの編集に入った時、右側に表示されるファイル一覧の中に、「アーカイブ」とは別に今回追加したファイルが表示されます。
Custom Post Type UI16このarchive-word.phpをクリックすると、ソースコードが表示されますので、中を書き換えます。

Custom Post Type UI17

具体的に、書き換える部分は<section>から</section>までのあいだのみです。他は触りません。
また、元のarchive.phpは変更しません。触りません。これがないとほかの記事のアーカイブなどがおかしくなってしまいます。

以上、変更の具体的な手順でした。

因みに、「」一覧 をなくしたいのであれば、archive.phpの<h2>から</h2>までをごっそり削除してしまえばOKです。
ただし、archive.phpを書き換えると、ほかのカテゴリー一覧や投稿者別一覧、月別やタグ別といったすべてのアーカイブページに影響がありますのでご注意ください。

「archive-word.php」のように、カスタムタクソノミー専用のアーカイブ用のファイルを作ったうえで、その「」一覧の部分を削除してしまう、というのは全然アリだと思います!

それでは。

 


たかなblogでは、これをまとめてほしい!という疑問を募集しております。
気になったもの、多かったものを記事にしていく形になるかとは思いますが、何かを探すとき、ネットから色々情報を拾って整理するのって、自分でやると意外と時間がかかるんですよね。

そういったものを探すお手伝いが出来ればと思っています。
ご希望があれば是非お気軽にコメント欄へ!
コメントは基本、私が承認すると表示される仕様になっているため(スパム防止)、コメントを送信したのに表示されるのに2、3日かかる、ということもございます。
確認次第公開していきますのでお待ちください。

それではまた。

-カスタマイズ
-,

おすすめ記事

1
12月目前!クリスマスグッズ、どんなものに関心が集まっているの?

今回気になってまとめてみたのは、「クリスマスの人々の関心」について。 昨年(20 ...

2
年賀状印刷、業者に委託してでオシャレに?自宅で徹底的にこだわる?

年賀状作成は、プロにお願いする時代!? 年賀状のテンプレートが簡単に手に入るよう ...

3
ハロウィン、クリスマスに!とにかく可愛いコスプレ子供服【最新版】

ハロウィンも終わり、クリスマスが楽しみな季節になりました! これからクリスマスパ ...