単純にメモ。
前提
CPT UIでやる。
Custom Post Type UI
Admin UI for creating custom content types like post types and taxonomies
記事一覧部分
こんな感じ。
<?php
$myQuery = new WP_Query();
$param = array(
'posts_per_page' => -1,
'post_type' => 'faq',
'post_status' => 'publish',
);
$myQuery->query($param);
if($myQuery->have_posts()):
?>
<dl class="faq_list">
<?php while($myQuery->have_posts()): $myQuery->the_post(); ?>
<dt><?php the_title(); ?></dt>
<dd><?php the_content(); ?></dd>
<?php endwhile; ?>
</dl>
<?php endif; ?>
archive.phpだけど、スラッグとかで指定する。通常の記事一覧みたく表示数を指定してページ送りを仕込めるほか、タクソノミーとかカスタムフィールドを指定した絞り込みも可能。
アーカイブ名を出すのはこう。
<?php the_archive_title(); ?>
割と使う機会が少ないので知らなかったりする。
作成時の注意
CPT UIは自己責任というか、管理能力が低いと詰みがち。
「投稿タイプスラッグ」は固定ページのURLスラッグと被ってたら干渉するので、被らないように気をつける。
「アーカイブあり」が「偽」になってるとarchive.phpが使えないので注意。逆手に取って固定ページで一覧を作るのも有りだけど。
投稿タイプとタクソノミーを同名にしない。しても動くけど、たまに凝ったことをしたいときに干渉することがあった。根本の部分まで調査してないから詳しくは分からないけど、とりあえず違う名前にした方がいい。
「投稿タイプスラッグ」を変更する場合、「投稿を改名後の投稿タイプへ移行しますか ?」のチェックを忘れない。既に投稿した記事があった場合、移し替えるのをミスるとめんどくさい。
コメント