Saya memiliki dua taksonomi khusus yang diterapkan pada dua jenis pos kustom. daftar istilah di sidebar baik-baik saja dan akan mencantumkan semua posting yang terkait dengannya. Namun, jika Anda mencari salah satu istilah secara spesifik, itu tidak memunculkan pos dengan istilah itu.
Contoh: http://dev.andrewnorcross.com/das/all-case-studies/ Cari istilah "PQRI"
Saya tidak mendapatkan apa-apa. Ada ide? Saya sudah mencoba menggunakan berbagai plugin pencarian tetapi mereka merusak parameter pencarian khusus saya atau tidak berfungsi.
custom-post-types
custom-taxonomy
search
Norcross
sumber
sumber
Jawaban:
Saya akan merekomendasikan plugin Search Everything juga, tetapi jika Anda ingin menerapkan ini menggunakan fungsi pencarian WP, inilah kode yang saya gunakan dalam tema Atom saya:
Ini didasarkan pada plugin Tag-Search: http://projects.jesseheap.com/all-projects/wordpress-plugin-tag-search-in-wordpress-23
sumber
is_search()
atau panggilan metode WP_Query lainnya (is_search()
is_home()
dll.) Harus selalu dipanggil langsung pada instance kueri (mis. Dengan$query->is_search()
asumsi nama variabel instance ada$query
dalam tanda tangan callback) daripada fungsi templat yang akan selalu merujuk ke kueri utama , bukan kueri yang menjalankan filter.Apakah ini pencarian standar WordPress? Karena itu sepertinya tidak memasukkan taksonomi (bahkan tidak standar, seperti kategori dan tag) dalam pencarian. Kode mencari
post_title
danpost_content
, tetapi jika Anda ingin memasukkan hal lain, Anda harus memasukkan ke dalamposts_search
filter.sumber
Saya mencoba solusi Onetrickpony di atas https://wordpress.stackexchange.com/a/5404/37612 , yang hebat, tetapi saya menemukan satu masalah di sana, yang tidak berhasil untuk saya, dan saya akan membuat satu modifikasi kecil:
jika taksonomi memiliki karakter khusus misalnya dengan bahasa Jerman "Umlaut" (ö, ä, ü) dan satu pencarian untuk oe, ae, ue insteda menggunakan char khusus - Anda perlu menambahkan pencarian di siput taksonomi -
OR t.slug LIKE '%".get_search_query()."%'
jika Anda mencari kombinasi permintaan pencarian dan filter taksonomi - ini juga berfungsi dengan baik
Tapi masalahnya adalah, ketika Anda mencoba menggunakan hanya filter taksonomi - kait pencarian menambahkan string kosong ke kueri jika tidak ada teks yang dicari, dan untuk alasan itu Anda mendapatkan SEMUA posting di hasilnya, bukan hanya yang dari taksonomi tersaring. Pernyataan IF sederhana memecahkan masalah. Jadi seluruh kode yang dimodifikasi adalah ini (berfungsi dengan baik untuk saya!)
sumber
Saya memiliki tingkat informasi yang sama seperti Jan. Saya tahu itu mungkin untuk memperluas pencarian dengan plugin juga.
Mungkin Cari Segalanya (Plugin Wordpress) adalah apa yang Anda cari. Menurut daftar fitur, sekarang mendukung taksonomi kustom.
sumber
Saya menemukan jawaban dari onetrickpony sangat bagus tetapi memperlakukan pencarian apa pun sebagai istilah tunggal dan juga tidak akan berurusan dengan frasa pencarian yang disertai tanda kutip. Saya memodifikasi kodenya (khususnya,
atom_search_where
fungsi) sedikit untuk menangani dua situasi ini. Ini adalah versi kodenya yang saya modifikasi:sumber
Saya memiliki masalah yang sama dengan plugin keranjang WooCommerce .. Hasil pencarian saya tidak termasuk istilah taksonomi kustom, 'product_tag', karena itu bukan tag posting standar. Saya menemukan solusi di utas StackOverflow lainnya tentang masalah ini:
https://stackoverflow.com/questions/13491828/how-to-amend-wordpress-search-so-it-queries-taxonomy-terms-and-category-terms
Contoh kode oleh tkelly bekerja untuk saya ketika mengganti istilah
author
dalam contohnya denganproduct_tag
sesuai kebutuhan kita untuk plugin kereta.sumber