三重県名張市伊賀市のホームページ制作/グラフィックデザイン

BLOG

WordPressのWP_Queryを固定ページとカテゴリーページで使ってみよう

WordPressのWP_Query

非常に便利なWP_Queryですが、何が便利かって?なんと指定した投稿の情報を色々とまとめて取得することができちゃうんです。さらに特定の条件を絞って指定することも可能です。そんな便利なWP_Queryですが、まずは固定ページでの使い方を見ていきましょう。

固定ページでWP_Query

// 条件の設定
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
	'post_type' => 'post', 
	'paged' => $paged,
    'category_name' => 'web,  graphic,  other',    // 取得するカテゴリを指定
    'posts_per_page' => 12,                               // 表示する投稿数
); ?>

// クエリの定義
<?php $wp_query = new WP_Query( $args ); ?>

// ループ
<?php
if (have_posts()) :
  while (have_posts()) :
    the_post();
    get_template_part('content');
  endwhile;
?>

// 投稿データのリセット
<?php wp_reset_postdata(); ?>

ページナビを使用する場合は、「’paged’ => $paged,」は必須です。続いてカテゴリーページでのWP_Queryの使い方を見ていきましょう。

カテゴリーページでWP_Query

// 条件の設定
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$cat_now = get_queried_object();
$args = array(
    'post_type' => 'post',
    'paged' => $paged,
    'cat' => $cat_now->cat_ID, 
    'posts_per_page' => 12,
); ?>

// クエリの定義
<?php $wp_query = new WP_Query( $args ); ?>

// ループ
<?php
if (have_posts()) :
  while (have_posts()) :
    the_post();
    get_template_part('content');
  endwhile;
?>

// 投稿データのリセット
<?php wp_reset_postdata(); ?>

カテゴリーページで投稿を取得する場合は、「$cat_now = get_queried_object();」と「 ‘cat’ => $cat_now->cat_ID, 」を忘れないようにしてください。ここが固定ページとの違いです。

WP_Queryを使いこなすことができれば非常に便利ですよね。条件の設定はたくさんあるので、状況に応じて調べてみてくださいね。


ご相談・お見積り

制作のご相談・お見積り(無料)を
受け付けています。

制作についての不安や疑問など、どんなことでもお気軽にご相談ください。 制作会社様からの制作外注依頼もお待ちしております。

電話番号