wordpressでwp_queryを使って投稿記事を分ける方法

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の確認方法は難しくて
投稿&gtカテゴリを開いて、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'));?>

使いそうなものだけ抽出して取り出してみました。


コメント
コメントする