「カスタム投稿タイプのアーカイブページが表示されない場合の直し方」(以下からは前回の記事と呼びます)という内容を書きましたが、これはカスタム投稿タイプの設定をfunction.phpで自分で書いている場合のやり方になります。
カスタム投稿タイプを簡単に設定するためのプラグインとして有名なのが「Custom Post Type UI」というのがある。
これはfunction.phpに自分でコードを書くのが面倒、または書けない人の代わりにカスタム投稿タイプを設定してくれるプラグインです。
今回はこのプラグインを使用している場合のカスタム投稿アーカイブページの作り方を解説します。
テンプレートファイルを用意する
まずはカスタム投稿アーカイブページのテンプレートファイルを用意します。
ファイル名は前回の記事の内容と同じく、archive-カスタム投稿タイプ名.phpです。
「カスタム投稿タイプ名」を忘れてしまっている場合は、WordPress管理画面にてCustom Post Type UI(CPT UI)設定の中の「Manage Post Types」を開き、「名前」の欄で確認できます。
アーカイブページを有効にするための設定
カスタム投稿アーカイブページを有効にするために、前回の記事ではfunction.php内でhas_archiveの値をtrueにしました。
今回はこれをWordPressの管理画面上で行うことになります。
すると以下のような画面になりますので、「Advanced Options」を押します。
「Advanced Options」とは「高度なオプション」という意味になります。
すると、さらなるオプションが「Advanced Options」の下に開かれますので、その中にある「Has Archive」の値をTrueに変更し、ページ一番下にある「Save Custom Post Type」のボタンを押して設定を保存します。
設定は以上になります。
アーカイブページにアクセスして表示を確認する
上記の設定が完了したら、カスタム投稿アーカイブページにアクセスして表示されているかを確認しましょう。
カスタム投稿アーカイブページのURLはWordPressのパーマリンク設定が数字ベースの場合は、
http://www.ドメイン名/archives/カスタム投稿タイプ名
となります。
またはsingle.phpやsidebar.phpなど何らかのテンプレートファイル内でget_post_type_archive_link関数を使用すれば、カスタム投稿タイプアーカイブページのURLが出力されます。
<?php echo get_post_type_archive_link( 'カスタム投稿タイプ名' ); ?>
もし、WordPressにログインしている管理者だけが上記のリンクURLを確認したい場合は以下のように書けば、
<?php if( current_user_can( 'administrator' ) ): ?>
<?php echo get_post_type_archive_link( 'カスタム投稿タイプ名' ); ?>
<?php endif; ?>
サイトを閲覧している人に気付かれることなく、ログイン中の管理者である自分だけがURLの確認をできます。
参考ページ:関数リファレンス/get post type archive link – WordPress Codex 日本語版
参考ページ:関数リファレンス/current user can – WordPress Codex 日本語版