質問: ### 前提・実現したいこと Wordpressでサイト制作を行っています。 投稿にカテゴリーを設定し カスタム投稿タイプの記事に、投稿の該当カテゴリー記事の一覧を出力したいです。 その際に投稿に設定したカテゴリー(&カテゴリースラッグ)と カスタム投稿タイプに設定したスラッグを同じものにして それを代入して呼び出せればと考えております。 具体的に説明すると 投稿(ニュース)にカテゴリー「りんご」「バナナ」「オレンジ」を設定 それぞれのカテゴリーにスラッグ「ringo」「banana」「orange」を設定 カスタム投稿タイプに【紅玉】の記事を作成 記事のスラッグに「ringo」を設定 【紅玉】の記事ページに カテゴリー「りんご(ringo)」が設定されたニュースのタイトル一覧を表示 ### 発生している問題・エラーメッセージ カテゴリーのスラッグを直接指定して表示することは出来ましたが 今後、投稿のカテゴリーがどんどん増えていくため カスタム投稿タイプのスラッグと連動させ、自動的に表示させたい ### 該当のソースコード ``` '○○○', ←ここの○○○にカスタム投稿タイプに設定したスラッグを入れたい 'posts_per_page' => '0', 'orderby' => 'date', 'order' => 'DESC' )); if( $my_query->have_posts() ) : ?> have_posts() ) : $my_query->the_post(); ?> ● no posts ``` ### 試したこと 初心者のため、そもそも実現可能なのかも分からず。 上記のソースコードが別物に変わっても構いませんので 実現可能なのか知りたいです。 ### 補足情報(言語/FW/ツール等のバージョンなど) Wordpressは最新バージョンを使用しています`ここに言語を入力 コード`
回答: 現在のページの Slug を取得してサブクエリー(WP_Query)のパラメーター category_name に代入するしたいという理解であってますでしょうか?という仮定のもとソースコードが以下です。 ※動作確認していませんので、必ずローカルでテストしてください。 ``` $my_query = new WP_Query( array( 'category_name' => sanitize_key( $post->post_name ), 'posts_per_page' => '0', 'orderby' => 'date', 'order' => 'DESC', )); ``` 単純に、現在の投稿データの情報を取得して、post_name というパラメーターに Slug は入っているのでそれを参照しているだけです。ただ、そのまま値を使うのは恐いので、sanitize_key() 関数で値を綺麗にしています。sanitize_key() 関数 は WordPress の関数です。