다음을 통해 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);
}