私はtaxonomy.phpテンプレートで次のクエリを呼び出しています query_brands_geo('dealers', 'publish', '1', $taxtype, $geo, $brands);
この機能は完全に機能します。ただし、クエリ投稿のコーデックスを読んだ後、デフォルトのクエリを変更する好ましい方法としてpre_get_postsに言及しました。pre_get_postsは、以下のwp_query関数よりも効率的ですか?
もしそうなら、どのようにpre_get_postsを構築し、変数とクエリを渡しますか?
function my_custom_query($posttype, $poststatus, $paidvalue, $taxtype, $geo, $brands) {
global $wp_query;
$wp_query = new WP_Query();
$args = array(
'post_type' => $posttype,
'post_status' => array($poststatus),
'orderby' => 'rand',
'posts_per_page' => 30,
'meta_query' => array(
array(
'key' => 'wpcf-paid',
'value' => array($paidvalue),
'compare' => 'IN',
)
),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => $taxtype,
'field' => 'slug',
'terms' => $geo
),
array(
'taxonomy' => 'brands',
'field' => 'slug',
'terms' => $brands
)
)
);
return $wp_query->query($args);
}