カスタム投稿タイプを定義して投稿データを入力し、いざ表示しようとしたら無情にも「ファイルが見つかりません」の表示。
register_post_type()のパラメータである publicly_queryable、query_var、rewrite や、[管理画面]-[設定]-[パーマリンク設定]の変更、テーマの切り替えなどさんざん変更して試してみるも解決しない。
ただし、パーマリンク設定でデフォルトの状態で
http://example.com/?custom_post_name=slug
であれば、ページを表示する事ができた。同様に、query_var を利用してのクエリー指定だとページの表示ができた。
自分がリンク表示したいのは、
http://example.com/custom_post_name/slug
なのだが。
で、解決方法は、カスタム投稿タイプを登録する際「flush_rewrite_rules(false)」を実行したことだった。ようやくパーマリンクで表示するようになった(引っ張りすぎてゴメンナサイ)。
flush_rewrite_rules()のソースを見てみたが、オプションテーブルに登録された「rewrite_rules」を削除する程度の処理しかしてないようで、原因はよく分からない。動作するようになったので、それで「良し」とした。
解決方法を示してくれたページ
Custom Post Types display only 404
パーマリンクのクエリー指定を解り易く解説してくれたページ
Custom Post Type Permalinks