wordpressをカスタマイズの時に、よく、DBからpostを検索処理を入れますよね。

wordpressのメインクエリとして、WP_Queryが利用されています。このクラスを利用して、1つのリクエストのメインクエリを構築します。たとえ、サイドバーに投稿一覧などを表示する時に、メインクエリ以外に、自分で、検索処理を作る必要があります。この時に、よくquery_postsが利用されてしまいます。

実際に、query_posts()関数の利用は、現在はあまり好まれていません。その理由は以下の通りです。

・query_posts()をテンプレート中で主要なデータの取得に使うと、オリジナルのメインクエリによる、データベース検索が実行された後、再度データベースに問い合わせを行うため、実行効率上好ましくない。

・メインクエリ以外の記事検索(サイトバーの最新の記事一覧や、同じカテゴリの記事一覧など)での作成でも利用されていたが、一旦メインクエリを置き換えてしまう動作仕様などから好ましくない一部の開発者の正しくない利用方法によって、コア、テーマ、プラグインの動作に不具合を起こすケースが増えた。

なので、query_postsをできる限り利用しないほうがいいです。代わりに、get_posts()関数を利用するべきです。