Late ran ラテラン は、ウェブクリエイターのためのキュレーションマガジン

メニュー
検索

2015/12/14更新

今でもまだ使っている? query_postのお作法

query_postが非推奨になって久しいですが、

みなさん、query_postを使用しているでしょうか。

 

筆者の場合はYESです。

 

古いWordpress案件の回収などではquery_postが使用されていることもあり、

スクリプトの統一を図るためにquery_postを使用しています。

 

このquery_post、あまり使わないので記述の仕方をポロッと忘れていることもしばしば……

という方もいらっしゃるのではないでしょうか。もしくはquery_postってなんだ?と思われた方もいらっしゃるかもしれません。

 

query_postはWP_Queryが登場する前まではループの主役でした。

しかし、デメリットが幾つかあるということで、WP_Queryに移行が進みました。

 

query_postのデメリットについては以下2つの記事がわかりやすくまとめています。

http://notnil-creative.com/blog/archives/1688

http://ultimate-ez.com/2013/08/24/2490/

 

さて、それでは忘れがちなquery_postの記述注意点を復習しておきましょう。

img01

 

$paged = get_query_var(‘page’);//①ページャー使用時にはこの記述を書きます

$args = array (

‘post_type’ => ‘gallery’,

‘post_status’ => ‘publish’,

‘posts_per_page’ => 12,//②ページャーを使うのであればここは設定してあげましょう。

‘paged’ => $paged,// ③ページャー使用時にはこの記述を書きます

);

query_posts($args);//④クエリで情報を取得します

if(have_posts()): while(have_posts()): the_post();//⑤ループスタートです。

?>

 

<?php endwhile; endif; ?>//⑥ループ終了です

 

 

①、④、⑤はWP_Queryとは記述が異なる箇所です。つまり間違いやすい場所になります。

特に①はページャーを動かす大事な部分になります。間違わないように書きましょう。

 

またquery_post使用時はページャーの不具合が起きやすいようです。

 

①~③をきちんと設定してあげましょう。

 

まれに出会うquery_post、これでもう怖くないですね。

Search