[WP]メインループとサブループ、query_posts(),get_posts(),new WP_Query()

  • このエントリーをはてなブックマークに追加

ざっくりと、メインループとサブループは以下のように理解しています。

・メインループ:URLをもとにワードプレスのコアファイルが回すループのこと。
・サブループ:URLに関係なくワードプレスのデータベースからデータを取得して回すループのこと。

メインループを回すためにwordpressでは query_posts() が使用されていますが、 get_posts()WP_Query()の3つの違いを整理してみます。

query_posts() は使用が推奨されていません。 has_posts() の記述のある親テーマを引き継いで編集するために、この関数でループを回したかったのですが、良くない方法だそうです。動作も重いとのこと。

$wpdbを利用してデータベースにアクセスする方法もあるのですが、ループを回したいのであれば$wpdbよりもget_posts() か new WP_Query() を利用したほうが少ないコードで済みそうです。

なお、functions.php の中で使用する場合は global $wpdb の宣言が必要です。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

フォロー

メールアドレスを記入して購読すれば、更新をメールで受信できます。