【WordPress】カスタム投稿の個別ページ(詳細ページ)を生成しない方法
更新日:2022年03月26日 / 投稿日:2022年03月10日
WordPressでは投稿ページを作成すると個別ページ(詳細ページ)が作成される仕組みとなっていて、同時に記事の一覧ページも生成される仕様になっています。
カスタム投稿も基本的には同じですが、場合によっては、一覧ページのみを作成したいとう場合もあります。
これまで携わった案件の中で、カスタム投稿の個別ページ(詳細ページ)を作らず一覧ページのみにしたいという要望があったので、備忘録も兼ねて、カスタム投稿で個別ページ(詳細ページ)を作らず
一覧ページのみにする方法をご紹介していきたいと思います!
関連記事:0から始めるWordPress自作テーマ【カスタム投稿作成編】
funcitons.phpで以下のようにコードを修正
funcitons.phpでカスタム投稿を呼び出している場合、呼び出しているコードを以下のように修正します。
コードの中の「カスタム投稿」には、任意の投稿スラッグが入ります。
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'custom_post',
array(
'labels' => array(
'name' => __( 'カスタム投稿' ),
'singular_name' => __( 'カスタム投稿' )
),
'public' => false, //ここをfalseに設定
'show_ui' => true, //ここをtrueに設定
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields' ,'comments' ),
'menu_position' =>5,
'has_archive' => true
)
);
}
上記のコードのコメントアウトの部分「public」をfalseに設定し、「show_ui」をtrueに設定します。
これで、カスタム投稿の個別ページ(詳細ページ)は作成されず、一覧ページのみが生成されます。
プラグインでカスタム投稿の個別ページ(詳細ページ)を生成しない方法
もし、プラグインでカスタム投稿を作成されている場合は、プラグインの編集画面から設定を変更していきます。
今回は「Custom Post Type UI」というプラグインでカスタム投稿を作成している場合という設定でお話を進めていきます。
一般公開という設定を「偽」に設定する
プラグインの管理画面で「一般公開」という項目があります。
これは先程ご紹介したfunctions.phpの「public」という部分が「一般公開」に該当します。
ですので、この値が「真」になっている場合は「偽」という値に変更します。
設定はこれで完了です。
まとめ
カスタム投稿の個別ページ(詳細ページ)を生成しない方法についてご紹介いたしましたが、いかがだったでしょうか?
ごく稀な要望だったので記憶に残っていたのですが、こうした要望も対応可能だったので、もし同じような要望の方がいれば、参考になれば幸いです!
この記事を書いた人
KNOWLEDGE BASEの中の人
2013年よりWEB制作会社に入社し、デザイン・コーディングからディレクションと幅広く従事。