WordPress

WordPressのサブループをWP-PageNaviプラグインを使ってページ送りさせる方法

WordPressの管理画面で作成した固定ページをブログの記事の一覧ページにしたり、カスタム投稿タイプの一覧ページにしたりすることってよくあると思います。その場合、通常はWP_Queryを使って引数を渡してやることでサブループを生成して目的の記事のリストなどを作成することになります。

そのような場合に、記事のリストを表示させる固定ページにページネーションを追加したい場合、便利なプラグイン「WP-PageNavi」という有名なプラグインがありますよね。今回はそのWP-PageNaviとサブループの連携方法について解説します。

まず、WP_Queryを使用して簡単なサブループを作成します。

<?php
    $paged = get_query_var('paged') ? get_query_var('paged') : 1;
    $my_query = new WP_Query(array(
        'paged' => $paged ,
        'posts_per_page' => 10
    ));
?>
<?php if($my_query->have_posts()): while($my_query->have_posts()): $my_query->the_post(); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
<?php endwhile;endif;
    wp_reset_postdata();
?>

WordPressで企業サイトを構築している人なら見慣れたコードだと思います。
今回はこのコードにwp-pagenaviを使用したページネーションを導入します。

通常、wp-pagenaviを使用するときは、

wp_pagenavi();

だけで動作しますが、これはメインクエリをページネーションさせたい時の書き方となります。

WP_Queryを使用したサブループに対してwp-pagenaviを使用する場合は関数にクエリをパラメータとして渡してやる必要があります。今回の場合ですと、こんな感じになります。

wp_pagenavi(array('query'=>$my_query));

このようにwp_pagenavi関数にWP_Queryで作成したクエリを引数として渡してやります。

実際に運営中のブログやローカルで実験してみたらわかると思いますが、最初の例「wp_pagenavi();」だけではサブループのページネーションは表示されないはずです。

今回のサンプルで完成したコードは以下の通りです。

<?php
    $paged = get_query_var('paged') ? get_query_var('paged') : 1;
    $my_query = new WP_Query(array(
        'paged' => $paged ,
        'posts_per_page' => 10
    ));
?>
<?php if($my_query->have_posts()): while($my_query->have_posts()): $my_query->the_post(); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
<?php endwhile;endif;
    wp_pagenavi(array('query'=>$my_query));
    wp_reset_postdata();
?>

11行目に

wp_pagenavi(array('query'=>$my_query));

を追加しました。

これで固定ページに作成した記事のタイトルのリストにページネーションを追加することができました。お試しあれ。

■参考ページ
http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html

===

「いいね!」と思ったら、クリックお願いいたします<m(__)m>
にほんブログ村 小遣いブログ Webライター・ブログライターへ にほんブログ村 IT技術ブログ SEO・SEMへ にほんブログ村 小遣いブログ ブログアフィリエイトへ
ABOUT ME
コレカラウェブ
コレカラウェブです。フリーランスとしてWebライティング・SEOコンサルティング・メディア運営・障害者支援のお仕事を一貫して承ってきました。このブログではコレカラウェブのお仕事で得たノウハウやテクニックを詳しく紹介しています。所有資格:認定SEOコンサルタント・SEO検定1級・Webライティング実務士・ウェブ解析士・応用情報技術者・情報セキュリティスペシャリスト・FP2級・AFPなど。

COMMENT

メールアドレスが公開されることはありません。

CAPTCHA