cari
RumahTutorial CMSWordTekanCara Menambah Carian Lanjutan ke Laman WordPress Anda

3

Takeaways Key

  • Borang carian WordPress boleh dipertingkatkan di luar parameter pertanyaan asas 'S' dengan menggunakan parameter lain dalam teras WordPress, yang membolehkan hasil carian yang lebih fokus.
  • Hasil carian boleh disempurnakan mengikut kategori atau tag dengan lulus slug masing -masing ke parameter 'CATEGE_NAME' atau 'TAG'. Ini boleh dilakukan tanpa memerlukan plugin.
  • Carian lanjutan boleh ditapis lebih lanjut oleh pelbagai nilai menggunakan parameter array PHP, yang boleh dipintas dan ditetapkan dalam fail fungsi tema WordPress.php. Ini membolehkan pengguna memilih pelbagai tag untuk carian yang lebih fokus.
  • Majoriti borang carian WordPress menetapkan parameter pertanyaan tunggal bernama 'S':
Tidak ada yang salah dengan itu dan saya fikir ia adalah satu -satunya pilihan untuk banyak tahun, bertahun -tahun. Walau bagaimanapun, pertanyaan yang lebih maju adalah mungkin tanpa bantuan plugin (walaupun banyak tersedia). Di dalam teras WordPress, aplikasi itu menghidupkan beberapa parameter pertanyaan lain dan menggunakannya untuk mengembalikan satu set hasil carian yang lebih fokus. Terdapat beberapa dokumentasi asas yang menyenaraikan nama parameter:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span>
</span><span><span><span><fieldset>></fieldset></span>
</span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span>
    Lampiran
  • lampiran_id
  • Pengarang
  • pengarang_name
  • Cat
  • kategori_name
  • Comments_popup
  • hari
  • ralat
  • Feed
  • jam
  • m
  • minit
  • monthnum
  • Nama
  • p
  • page_id
  • paged
  • pagename
  • post_parent
  • post_type
  • Pratonton
  • kedua
  • static
  • Subpost
  • subpost_id
  • tag
  • tag_id
  • tb
  • w
  • tahun
Saya tidak yakin semua kerja ini seperti yang diharapkan dan ada yang sedikit sia -sia, tetapi mereka sepadan dengan parameter yang anda boleh lulus ke WP_Query. Oleh itu, kita boleh membuat borang carian lanjutan menggunakan HTML dengan smidgen PHP untuk mengautomasikan pilihan.

Cari carian mengikut kategori

Anda boleh mengehadkan hasil ke kategori dengan lulus slugnya ke parameter kategori_name, mis.
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span>
</span><span><span><span><fieldset>></fieldset></span>
</span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span>
Borang carian kami boleh membolehkan pengguna memperbaiki carian mereka ke kategori tertentu:
http://yoursite.com/?s=search+term&category_name=kittens
Jika anda lebih suka menyenaraikan semua kategori, tambahkan kod berikut antara dan tags:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span>
</span><span><span><span><fieldset>></fieldset></span>
</span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select> name<span>="category_name"</span>></select></span>
</span><span><span><span><option> value<span>=""</span>></option></span>all categories<span><span></span>></span>
</span><span><span><span><option> value<span>="kittens"</span>></option></span>cute kittens<span><span></span>></span>
</span><span><span><span><option> value<span>="puppies"</span>></option></span>adorable puppies<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span></span></span></span></span>

memperbaiki carian dengan tag

Hasil carian boleh dihadkan kepada tag dengan lulus slugnya ke parameter tag, mis.
<span><span><?php </span></span><span><span>// generate list of categories
</span></span><span><span>$categories = get_categories();
</span></span><span><span>foreach ($categories as $category) {
</span></span><span>	<span>echo '<option value="', $category->slug, '">', $category->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span></span>
Oleh itu, carian anda dapat mengehadkan hasil kepada tag tertentu, mis.
http://yoursite.com/?s=search+term&tag=cockroach
Begitu juga, anda boleh menjana senarai semua tag untuk medan pilih:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span>
</span><span><span><span><fieldset>></fieldset></span>
</span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select> name<span>="tag"</span>></select></span>
</span><span><span><span><option> value<span>=""</span>></option></span>any tag<span><span></span>></span>
</span><span><span><span><option> value<span>="cockroach"</span>></option></span>cockroaches<span><span></span>></span>
</span><span><span><span><option> value<span>="snake"</span>></option></span>snakes<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span></span></span></span></span>

Memajukan Carian Lanjutan

Bagaimana jika anda mahu memperbaiki carian dengan pelbagai nilai? Sebagai contoh, pengguna boleh memilih dua atau lebih tag dan halaman yang dihasilkan mesti mempunyai semua yang ditetapkan. Kita tidak dapat mencapai ini menggunakan parameter URL sahaja tetapi mari kita mulakan dengan menentukan borang carian HTML:
<span><span><?php </span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span>	<span>echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span></span>
Perhatikan bahawa saya telah menggunakan parameter Arus PHP bernama Taglist . Anda boleh menggunakan mana -mana nama selain daripada yang telah dikhaskan oleh WordPress (lihat senarai di atas). Kami kini boleh memintas penyerahan carian dalam fail fungsi Tema WordPress kami. Fungsi Advanced_Search_Query mengesan sama ada carian aktif kemudian menetapkan parameter WP_Query tag_slug__and dengan sewajarnya.
<span><span><span><form> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></form></span>
</span><span><span><span><fieldset>></fieldset></span>
</span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><p>></p></span>Refine search to posts containing chosen tags:<span><span></span>></span>
</span><span><span><?php </span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span>	<span>echo 
</span></span><span>		<span>'<label>',
</label></span></span><span>		<span>'<input type="checkbox" name="taglist[]" value="',  $tag->slug, '"> ',
</span></span><span>		<span>$tag->name,
</span></span><span>		<span>"\n";
</span></span><span><span>}
</span></span><span><span>?></span>
</span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span>
</span><span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span></span></span>
Akhirnya, kami menggunakan cangkuk tindakan pre_get_posts untuk menjalankan fungsi Advanced_Search_Query kami sebelum pertanyaan dilaksanakan:
<span>// advanced search functionality
</span><span>function advanced_search_query($query) {
</span>
	<span>if($query->is_search()) {
</span>		
		<span>// tag search
</span>		<span>if (isset($_GET['taglist']) && is_array($_GET['taglist'])) {
</span>			<span>$query->set('tag_slug__and', $_GET['taglist']);
</span>		<span>}
</span>	
		<span>return $query;
</span>	<span>}
</span>
<span>}</span>
Menambah kemudahan carian lanjutan ke WordPress adalah sangat mudah tetapi beberapa pemaju menyedari ia mungkin ... Mungkin kerana dokumentasi dan contohnya sedikit jarang . Saya dapati secara tidak sengaja jadi saya harap anda dapati kod ini berguna dalam projek WordPress anda yang seterusnya.

soalan yang sering ditanya mengenai carian lanjutan di WordPress

Bagaimana saya boleh menyesuaikan hasil carian di WordPress?

Menyesuaikan hasil carian di WordPress boleh dicapai dengan menggunakan kelas WP_Query. Kelas ini membolehkan anda menentukan parameter tertentu untuk menyesuaikan hasil carian anda. Sebagai contoh, anda boleh menetapkan parameter untuk mencari hanya dalam tajuk pos, tidak termasuk jenis pos tertentu, atau bahkan mencari dalam medan tersuai. Anda juga boleh menggunakan plugin seperti carian yang menawarkan pilihan penyesuaian carian lanjutan.

Bolehkah saya menggunakan tag untuk meningkatkan hasil carian di WordPress? Dengan menggunakan fungsi get_the_tags (), anda boleh mengambil tag yang berkaitan dengan jawatan tertentu. Ini boleh digunakan untuk mencipta pengalaman carian yang lebih halus, membolehkan pengguna mencari jawatan dengan tag tertentu.

Bagaimana saya boleh menukar parameter pertanyaan carian di WordPress?

Parameter pertanyaan carian di WordPress boleh diubah menggunakan penapis 'query_vars'. Ini membolehkan anda menukar parameter lalai 'S' kepada sesuatu yang lebih spesifik untuk keperluan anda. Contohnya, anda boleh mengubahnya menjadi 'carian_term' untuk menjadikan URL anda lebih mesra pengguna.

Apa itu WP_Query dalam WordPress? pertanyaan dan gelung. Ia menyediakan pelbagai parameter yang boleh anda gunakan untuk menyesuaikan pertanyaan anda, seperti jenis pos, kategori, tag, pengarang, dan banyak lagi. Ini menjadikannya alat yang berkuasa untuk mewujudkan fungsi carian canggih. cangkuk tindakan pre_get_posts bersempena dengan kelas WP_Query. Anda boleh menetapkan parameter 'post_type' ke pelbagai jenis pos yang anda ingin sertakan dalam hasil carian, dengan berkesan tidak termasuk semua yang lain. Ya, anda boleh mencari dalam bidang tersuai di WordPress menggunakan parameter 'meta_query' dalam WP_Query. Ini membolehkan anda menentukan kunci dan nilai medan tersuai, dan kembali jawatan yang sesuai dengan kriteria ini. Dengan menggunakan plugin seperti SearchWP, Relevanssi, atau Ajax Search Pro. Plugin ini menawarkan ciri carian canggih seperti pemadanan separa, kata kunci yang berpunca, dan carian carian, memberikan pengalaman pengguna yang lebih baik. Boleh membuat borang carian di WordPress tanpa plugin dengan menggunakan fungsi get_search_form (). Fungsi ini menghasilkan HTML untuk borang carian, yang boleh disesuaikan sesuai dengan keperluan anda. fungsi get_search_query (). Fungsi ini mengambil rentetan pertanyaan carian dan boleh digunakan untuk memaparkan istilah carian pada halaman hasil carian anda. Bilangan hasil carian di WordPress dengan menggunakan parameter 'posts_per_page' dalam wp_query. Ini membolehkan anda menentukan bilangan jawatan untuk dipaparkan setiap halaman, dengan berkesan mengehadkan bilangan hasil carian.

Atas ialah kandungan terperinci Cara Menambah Carian Lanjutan ke Laman WordPress Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah kebaikan dan keburukan menggunakan WordPress sebagai CMS anda?Apakah kebaikan dan keburukan menggunakan WordPress sebagai CMS anda?May 03, 2025 am 12:09 AM

Wordpressisapowercmswithsignificantanvantagesandchallenges.1) it'suser-friendlyandcustomizable, idealforbeginners.2) itsflexabilitycanleadtositebloatandsecurityissuesifNotManagedProperly.3)

Bagaimanakah WordPress berbanding dengan platform CMS yang popular?Bagaimanakah WordPress berbanding dengan platform CMS yang popular?May 02, 2025 am 12:18 AM

WordPressExcelSineaseOfuseAdadapTability, makeitidealforbeginnersandsmalltomedium-bersaiz-perniagaan.1) easeofuse: wordpressisuser-friendly.2) Keselamatan: DrupalleadSwithSwithStrongseCurityFeatures.3)

Bolehkah anda menggunakan WordPress untuk membina tapak keahlian?Bolehkah anda menggunakan WordPress untuk membina tapak keahlian?May 01, 2025 am 12:08 AM

Ya, YouCanusewordPresstobuildamembershipsite.here'show: 1) usepluginslikememberpress, dibayarmembersubscriptions, orwoocommercorusermanagement, contentaccesscontrol, andpaymenthandling.2) ensureContentProtectionPlugShugdeShugdeShugdeShugdeShugdeShugdeSandatedPlugDeSandPlugdeAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdeSandmandasi

Adakah WordPress memerlukan pengetahuan pengekodan untuk digunakan sebagai CMS?Adakah WordPress memerlukan pengetahuan pengekodan untuk digunakan sebagai CMS?Apr 30, 2025 am 12:03 AM

Anda tidak memerlukan pengetahuan pengaturcaraan untuk menggunakan WordPress, tetapi menguasai pengaturcaraan dapat meningkatkan pengalaman. 1) Gunakan CSS dan HTML untuk menyesuaikan gaya tema. 2) Pengetahuan PHP boleh mengedit fail topik dan menambah fungsi. 3) Tag plug-in dan meta tersuai dapat mengoptimumkan SEO. 4) Perhatikan sandaran dan penggunaan sub-topik untuk mengelakkan masalah kemas kini.

Apakah pertimbangan keselamatan semasa menggunakan WordPress?Apakah pertimbangan keselamatan semasa menggunakan WordPress?Apr 29, 2025 am 12:01 AM

TOSECUREAWORDPRESSSITE, FOLLONGETESTEPS: 1) Sering-kerapDateWordPresscore, Tema, danPluginstopatchVulnerabilities.2) USESTRONG, UNIQUEPASSWORDSANDENABLETWO-FACTORAUTHENTICATIFICE.3)

Bagaimanakah WordPress dibandingkan dengan pembina laman web lain?Bagaimanakah WordPress dibandingkan dengan pembina laman web lain?Apr 28, 2025 am 12:04 AM

WordPressExcelSoverotherWebsiteBuildersDuetoitsflexability, skalability, andopen-sourcenature.1) it'saversatilecmswithextensiveCustomizationOptionsViAthemesandplugins.2) ITSLELEYNINGECURVEISTEBUTOFFERSPOFFERSPOWERSPEMARSPEMASTIRCEMASTIS

5 plugin WordPress untuk pemaju digunakan pada tahun 20255 plugin WordPress untuk pemaju digunakan pada tahun 2025Apr 27, 2025 am 08:25 AM

Tujuh Plugin WordPress yang mesti ada untuk pembangunan laman web 2025 Membina laman web WordPress peringkat atas pada tahun 2025 menuntut kelajuan, responsif, dan skalabiliti. Mencapai ini sering bergantung pada pemilihan plugin strategik. Artikel ini Highlig

Apa yang akan anda gunakan untuk WordPress?Apa yang akan anda gunakan untuk WordPress?Apr 27, 2025 am 12:14 AM

Wordpresscanbeusedforvariouspurposesbeyondblogging.1) e-commerce: withwoocommerce, itcanbecomeAfullonlinestore.2)

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod