WordPress(ワードプレス)でホームページを作りたい、カスタムしたいという人のためのサイトです。

query_postsでループさせる際にページ送り(ページネーション)をプラグインなしで実装する方法

TOP > カスタム方法 > query_postsでループさせる際にページ送り(ページネーション)をプラグインなしで実装する方法

index.phpやarchive.phpではなく、page.phpのようなループのないテンプレートでループをさせ、さらにページ送り(ページネーション)を実装するカスタム方法を紹介します。
page.phpのようなテンプレートに実装できるのがポイントなので、賢く使えばカスタムの幅が広がります。

実際に使用するコードとその説明

実際に使用するコードは以下のようになります。
「$query_string」と「paged=’.$paged」で設定を初期化し、「have_posts」の中にループを記述します。
今回の場合は、h2タグで囲まれたリンク付きのタイトルの文字列と、その下に抜粋を表示させる場合です。
「function_exists(‘wp_pagenavi’)」でページネーションを実装し、「wp_reset_query」でクエリを初期化します。

<?php
query_posts($query_string);
query_posts('paged='.$paged);
?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink();?>"><?php the_title();?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
<!-- pagenation -->
<div class="pagenation">
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>
<!-- /pagenation -->
<?php
wp_reset_query();
?>

カスタムによって得られる効果

query_postsは現状のWordPressでは推奨されてはいませんが、使用する上で便利なコードではあります。
そう考えると、まだ使うてはあると思うので、こういう限定的な使用の場合はまだよいのではないかなと個人的には思っています。
もしこうした方がいいよっていう方法があれば教えてください。


« »

ABOUT THE AUTHOR

こしもあんず
こしもあんず

Wordpressをカスタマイズすることが好きなギーク女子です。
好きなエディタはSublimetext2です。
Google+やってるので、よろしくです。
デザインは好きですが、PHPはあまり得意ではないのでその辺ご容赦くださいね。


Twitterはこちら
https://twitter.com/wordpresscusto1

ad