タグ

query_postsに関するinc-2734のブックマーク (4)

  • query_postsはWordPressが重くなる原因

    今回は技術話ではなく雑談レベルのネタです。WordBench Kobeで発表したこれからのpre_get_postsの話をしようのスライドでは、query_posts() が、WordPressが一度投稿を取得した後に再度条件を変えて取得しなおしていることが問題だ、と指摘しました。ところが、どうも2回呼び出しているという以上に、query_posts() はそれ単体でもWordPressを重くする原因らしいぞ、という情報を入手しました。 詳しくはコアデベロッパーのnacinのスライドに書いてあります。 実のところ、query_posts() は通常、これ単体で大きく分けて4回データベースにアクセスします。 SQL_CALC_FOUND_ROWS オプションを付けて投稿データを取得する SELECT FOUND_ROWS() クエリを発行し、条件に該当する投稿の件数の総数を取得する 取得した

  • WordPress ループ&クエリーのモヤモヤを解消しよう!

    12月25日まで毎日ブログをつないでいく WordPress Advent Calendar、12日目担当 福山カズヒデ (@kzxtreme) です、こんにちは。aka aus Cothodyntomo(@aka_aus_pd)さんの「錆びたブログをまた動かすときに必要な事柄」からバトンをいただきました! WordPress 都市伝説のひとつ「query_posts() は危険」のデマは、地道な「wp_reset_query() を使おうキャンペーン」によりかなり沈静化しましたが、それでもなお「get_posts() 以外は信用ならん」「WP_Query 最強!」と各派閥がシノギを削る争いを繰り広げています。ラブ&ピースなクリスマスを迎えるために、WordPress の最も基的な機能でありながら最も正しく理解されていないこの最大のモヤモヤを、今日ここでスッキリと解消してしまいましょう!

    WordPress ループ&クエリーのモヤモヤを解消しよう!
  • query_posts(WP_Queryクラス)で’tax_query’を使いこなす

    説明 2日にわたって投稿した「query_posts(WP_Queryクラス)でカテゴリーを絞り込む」「query_posts(WP_Queryクラス)で投稿タグを絞り込む」の続き。今日はカテゴリーや投稿タグ以外ののタクソノミーによる絞り込み、複数のタクソノミーの絞り込みの組み合わせについてまとめてみる。 そもそも一連の投稿のきっかけになったのは、新テーマ「Twenty Eleven」の短冊ウィジェットがきっかけだった。その部分はこちら。 'tax_query' => array( array( 'taxonomy' => 'post_format', 'terms' => array( 'post-format-aside', 'post-format-link', 'post-format-status', 'post-format-quote' ), 'field' => 'slug

  • テンプレートタグ/query posts - WordPress Codex 日本語版

    注 1: この関数はプラグインまたはテーマの中で使われることを想定されていません。後ほど出てくる説明にあるように、メインクエリーを変更するにはパフォーマンス面でも優れたより良いオプションが存在します。 注 2: query_posts() はページ内のメインクエリーを書き換え、新しいクエリーのインスタンスと置き換えるために使う関数としては過度に単純化され、問題が発生しやすい方法です。非効率的で(SQL クエリを再実行します)、一部の状況では適切に実行することもできません(特にページング処理)。モダンな WordPress コードではもっと安定したメソッドを使うべきです。例えばpre_get_posts フックを使った方法などです。ひとことで言うと、query_posts() は決して使うべきではありません。 以上のことをしっかり理解し、この関数を賢く活用してください。 画像のソース: WP

  • 1