query_postsで$query_stringを配列で指定する方法

query_postsタグにパラメータを配列で指定することがある。その際に$query_stringも配列で指定する場合は、parse_str関数を使って$query_stringを連想配列にする。

例えばposts_per_pageは10件、orderはDESC、category__not_inは1,5,9と$query_stringをquery_postsタグに配列で与えるには次のようにする。

parse_str( $query_string, $args ); //$query_stringを配列に展開して$args にセット
$args['posts_per_page'] = 10; // 10件/ページ
$args['order'] = 'DESC';  // 降順
$args['category__not_in'] = array(1,5,9); // カテゴリ1,5.9を除く
query_posts( $args); // query_posts 実行