Theres cara untuk digunakan $query->set('tax_query', ...)
di pre_get_posts
filter? misalnya kode selanjutnya tidak mengubah kueri. Perhatikan bahwa saya sedang membangun $ taksonomi dari dan pencarian kustom.
function custom_search_filter($query) {
...
// array('taxonomy' => 'category', 'field' => 'id', 'terms' => array( 41,42 ), 'operator' => 'IN')
$taxonomies = implode(',', $taxonomy_arr);
// /wordpress/25076/how-to-filter-wordpress-search-excluding-post-in-some-custom-taxonomies
$taxonomy_query = array('relation' => 'AND', $taxonomies);
$query->set('tax_query', $taxonomy_query);
}
return $query;
}
add_filter( 'pre_get_posts', 'custom_search_filter', 999 );
Terima kasih sebelumnya.
pre-get-posts
José Pablo Orozco Marín
sumber
sumber
WP_Query
objek ke metode pengaturan argumen?Jawaban:
The
$query
variabel dalam filter merupakanWP_Query
objek, sehingga Anda tidak harus melewati baruWP_Query
objek ke metode untuk menetapkan sifat yang objek.The Pertanyaan Anda menyalin kode dari itu benar menggunakan filter, yang saya rasakan adalah inti dari masalah Anda.
Ya,
tax_query
dapat digunakan di dalam filter / aksipre_get_posts
(atau yang serupaparse_request
).Berikut ini contohnya:
Tentukan taksonomi khusus untuk permintaan pencarian
sumber
$tax_query
bukan objek,$query
meskipun (ini merupakan contohWP_Query
).Kueri pajak mengharuskan Anda untuk juga mengatur objek tax_query dalam kueri karena kueri telah diuraikan. Lihat jawaban saya untuk halaman Modifikasi Taksonomi untuk mengecualikan item dalam taksonomi anak .
sumber