WordPressで、あるチェーン店の記事サイトを作っています
必要なページは以下です。
- 記事一覧ページ(全件):
/news/
- 記事一覧ページ(関連店舗で絞った一覧):
/news/shop/SHOP_ID
←この質問で作成したいページ - 記事詳細ページ:
/news/NEWS_ID
- 店舗一覧ページ:
/shop/
- 店舗詳細ページ:
/shop/SHOP_ID
「記事」は通常投稿。 「店舗」はカスタム投稿タイプです。
また、記事は、 ACF(Advanced Custom Fields Plugin) を用いて、 カスタムフィールドに投稿オブジェクトとして 関連店舗 を紐付けています。
「○○店に関する記事」という感じです。
「○○店の記事一覧ページ」を作成したい
「記事一覧ページ」において、「全件」とは別に「関連店舗」で絞り込んだ一覧が必要なのですが、作り方がわかりませんでした。 そもそも作る方法はあるでしょうか?
愚直な方法ですが、**店舗(カスタム投稿オブジェクト)とは別に店舗(カスタムタクソノミー)**を作ることでやりたいことは実現できそうですが、運用の管理が二重になってしまうので避けたいです……。
自分で調べたことや試したこと
記事を「通常カテゴリ」や「カスタムタクソノミー」で絞った一覧ページを作る方法はわかるのですが、
「店舗」はカスタムタクソノミーではなくカスタム投稿タイプです。
そもそもURLが振られていないため、 /news/shop/SHOP_A/
や /news/shop/SHOP_B/
のURLが機能しない認識です。
また、サブクエリとしては以下のような記述で、「特定の関連店舗を持つ記事を取得するクエリ」を作成することはできました。
固定ページなどを利用することで、特定の店舗の一覧を表示する場合はこのサブクエリで実現できそうです。
new WP_Query( array( 'post_type' => 'post', 'meta_query' => array( array( 'key' => 'shop', 'value' => SHOP_ID, // 関連店舗の投稿オブジェクトの SHOP ID 'compare' => '=' ), ), ));
しかし、「○○店に関する記事一覧ページ」はページネーションも必要なため、これをメインクエリに持ち込みたいのですが、方法はあるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/03 06:24