質問: お世話になってます。 WordPressのテーマで、同一ページにカテゴリ毎の最新記事数件を表示しています。 具体的には、ピックアップ記事数件、お知らせ記事数件、イベント記事数件・・・という風に、10個のカテゴリーの記事が縦に並んでいます。 以下のような書き方をしているのですが、もっと良い書き方があれば教えていただきたいです。 PHPは以下のような感じの記述を10回しています。 ``` カテゴリ "; ?> ``` サイト上の表示は以下のような感じです。 ―――――――――――――――― **カテゴリ1** 2016-03-28 記事タイトル 2016-03-28 記事タイトル **カテゴリ2** 2016-03-28 記事タイトル 2016-03-28 記事タイトル ... ―――――――――――――――― なお、~のところでは、カスタムフィールドで別ページへの遷移先が指定していた場合に別タブで開くかどうかなどの処理をしています。 アドバイスいただけたらと思います。 よろしくお願いします。
回答: http://www.02320.net/wp-query-archive-list/ ここに載っている内容で対応できるのではないでしょうか? 未検証ですが、ざっと見た感じ、関数内の4行目「str」になっているところを「$str」に書き換えて 同行の出力箇所のHtmlを表示させたい内容に書き換えるだけで大丈夫だと思います。 固定ページで作成されているかと推測しますが、 基本的にquery_postsはそんなに使うべきものではないと考えます。 大抵の場合、WP_Queryやget_postsで対応できるのでそちらを使われることをお勧めいたします。 (query_postsは上記2つに比べて処理コストも高いですし) また、wp_reset_query()は質問時だから削っているだけなのかもしれませんが、クエリを変更したあとはリセットしなければそれ以後のループ(サイドバーやフッター等)にも影響が出ますのでリセットは必須です。 また、この内容に関しては「WP カテゴリー毎 一覧」等で検索すればすぐに見つかりますので まず検索してみてからするのが良いかと思います。