ฉันมีคำถามต่อไปนี้ซึ่งฉันโทรหาในเทมเพลต taxonomy.php ผ่านทาง query_brands_geo('dealers', 'publish', '1', $taxtype, $geo, $brands);
ฟังก์ชั่นนี้ทำงานได้อย่างสมบูรณ์แบบ อย่างไรก็ตามหลังจากอ่าน codex สำหรับการโพสต์แบบสอบถามมันพูดถึง 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);
}