やりたいこと
wordpressで2つの投稿タイプを用意しました。
・○○.com/shop/1(店舗用の投稿タイプ)
・○○.com/shop/1/review/1(店舗の口コミの投稿タイプ)
ゴールとしては上記のようなURLのような階層にしたいと思っています。
やったこと
function.phpで以下のコードを記入
function create_shops() { register_post_type( 'shops', array( 'label' => '店舗一覧', 'labels' => array( 'add_new' => '新規店舗追加', 'edit_item' => '店舗の編集', 'view_item' => '店舗を表示', 'search_items' => '店舗を検索', 'not_found' => '店舗は見つかりませんでした。', 'not_found_in_trash' => 'ゴミ箱に店舗はありませんでした。', ), 'public' => true, 'description' => 'カスタム投稿タイプ「店舗」の説明文です。', 'hierarchical' => false, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions' ), 'menu_position' => 5, 'rewrite' => array('slug' => 'shops') ) ); register_post_type( 'reviews', array( 'label' => '口コミ一覧', 'labels' => array( 'add_new' => '新規口コミ追加', 'edit_item' => '口コミの編集', 'view_item' => '口コミを表示', 'search_items' => '口コミを検索', 'not_found' => '口コミは見つかりませんでした。', 'not_found_in_trash' => 'ゴミ箱に口コミはありませんでした。', ), 'public' => true, 'description' => 'カスタム投稿タイプ「口コミ」の説明文です。', 'hierarchical' => false, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions' ), 'menu_position' => 5, 'rewrite' => array('slug' => 'reviews') ) ); } add_action('init', 'create_shops');
これだけだとただ2つの投稿タイプが作成されるだけだと思います。
この二つの投稿タイプを紐付けようと以下を試しました。
・投稿タイプを一つにし、'hierarchical' => trueにし、supportsの配列に'page-attributes'を追加し
口コミ作成時に親を作成してある店舗を選び設定しようと思いましたがviewのテンプレートを分けたかったのと,
管理画面上で店舗投稿、口コミ投稿を別々で管理したかったので諦めました。
2つの投稿タイプを紐づけるにはどのようにしたら良いでしょうか?
あなたの回答
tips
プレビュー