wordpressを使ってホームページを作り始めたら、どうしても、カテゴリ別、投稿タグ別、ページ別など
表示したいものだけ表示したい時に使えるのがwp_query
変数 = new WP_Querry(array(読み込む投稿を指定する条件));
後は、この変数を使って、wordpressループ(詳細)を行えば大丈夫。
<?php $my_query = new WP_Query(array(読み込む投稿を指定する条件));?> <?php if($my_query->have_posts()): ?> <?php while($my_query->have_posts()): $my_query->the_post();?> <h2><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h2> <div><p><?php the_content(); ?></p> <p><?php the_category(); ?></p></div> <?php endwhile; ?> <?php else: ?> <p>投稿されたものがありません。</p> <?php endif; ?>
よく使える条件
カテゴリ別にしたいカテゴリースラッグを使う
‘category_name’ => ‘カテゴリーのスラッグ名’
例:geekzshu.comでのwordpressのカテゴリのみを表示
<?php $my_query = new WP_Query(array('category_name' => 'wordpress'));?>
投稿>カテゴリの中の赤枠の部分の値をいれます。
カテゴリーIDを使う
カテゴリーIDの確認方法は難しくて
投稿>カテゴリを開いて、IDを見たいカテゴリの上にポインターを合わせます。
すると左したに出てくるURLのcategory&tag_ID=?の部分がカテゴリーIDになります。
‘cat’ => ‘カテゴリーのID’
例:geekzshi.comでのwordpressのカテゴリのみを表示
<?php $my_query = new WP_Query(array('cat' => 3));?>
固定ページだけ表示
固定ページのスラッグを使う
ページ編集の中のスラッグを使います。
(もし表示されていなかったら、右上の表示オプションからスラッグを選んで表示させます。)
‘pagename’ => ‘固定ページのスラッグ’
とあるページのみを表示
<?php $my_query = new WP_Query(array('pagename' => '固定ページのスラッグ'));?>
読み込む件数を指定する
‘posts_per_page’ => ‘件数’
例:20件表示
<?php $my_query = new WP_Query(array('posts_per_page' => '20'));?>
並び順を指定
‘orderby’ => ‘キー’,’order’ => ‘並び順’
キーを使って並び順を指定します。
date→日付、modified→最終更新日時、ID→ページのID、
rand→ランダム、comment_count→コメント数、meta_value→カスタムフィールドの値
並び順は昇順:ASC、降順:DESC
例:最終更新日時順にすると
<?php $my_query = new WP_Query(array('orderby' => 'modified', 'order' => 'ASC'));?>
使いそうなものだけ抽出して取り出してみました。
[…] 検索してこちらの記事「wordpressでwp_queryを使って投稿記事を分ける方法」ですぐに分かりました。 「カテゴリーIDの確認方法は難しくて 投稿>カテゴリを開いて、IDを見たいカテゴリの上にポインターを合わせます。 すると左したに出てくるURLのcategory&tag_ID=?の部分がカテゴリーIDになります。」とありました。↑の図で赤く囲まれたところです。ちょっと気が抜けました…(w カテゴリー: diary パーマリンク ← DAWN […]