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':
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span> </span><span><span><span><fieldset</span>></span> </span><span><span><span><input</span> 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</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span> </span><span><span><span></fieldset</span>></span> </span><span><span><span></form</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
- tag
- tag_id
- tb
- w
- tahun
Cari carian mengikut kategori
Anda boleh mengehadkan hasil ke kategori dengan lulus slugnya ke parameter kategori_name, mis.<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span> </span><span><span><span><fieldset</span>></span> </span><span><span><span><input</span> 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</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span> </span><span><span><span></fieldset</span>></span> </span><span><span><span></form</span>></span></span>Borang carian kami boleh membolehkan pengguna memperbaiki carian mereka ke kategori tertentu:
http://yoursite.com/?s=search+term&category_name=kittensJika anda lebih suka menyenaraikan semua kategori, tambahkan kod berikut antara
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span> </span><span><span><span><fieldset</span>></span> </span><span><span><span><input</span> 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</span> name<span>="category_name"</span>></span> </span><span><span><span><option</span> value<span>=""</span>></span>all categories<span><span></option</span>></span> </span><span><span><span><option</span> value<span>="kittens"</span>></span>cute kittens<span><span></option</span>></span> </span><span><span><span><option</span> value<span>="puppies"</span>></span>adorable puppies<span><span></option</span>></span> </span><span><span><span></select</span>></span> </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span> </span><span><span><span></fieldset</span>></span> </span><span><span><span></form</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>Oleh itu, carian anda dapat mengehadkan hasil kepada tag tertentu, mis.
http://yoursite.com/?s=search+term&tag=cockroachBegitu juga, anda boleh menjana senarai semua tag untuk medan pilih:
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span> </span><span><span><span><fieldset</span>></span> </span><span><span><span><input</span> 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</span> name<span>="tag"</span>></span> </span><span><span><span><option</span> value<span>=""</span>></span>any tag<span><span></option</span>></span> </span><span><span><span><option</span> value<span>="cockroach"</span>></span>cockroaches<span><span></option</span>></span> </span><span><span><span><option</span> value<span>="snake"</span>></span>snakes<span><span></option</span>></span> </span><span><span><span></select</span>></span> </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span> </span><span><span><span></fieldset</span>></span> </span><span><span><span></form</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>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</span> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></span> </span><span><span><span><fieldset</span>></span> </span><span><span><span><input</span> 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</span>></span>Refine search to posts containing chosen tags:<span><span></p</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>', </span></span><span> <span>'<input type="checkbox" name="taglist[]" value="', $tag->slug, '" /> ', </span></span><span> <span>$tag->name, </span></span><span> <span>"</label>\n"; </span></span><span><span>} </span></span><span><span>?></span> </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span> </span><span><span><span></fieldset</span>></span> </span><span><span><span></form</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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sebab-sebab utama mengapa WordPress menyebabkan lonjakan dalam penggunaan CPU pelayan termasuk masalah pemalam, pertanyaan pangkalan data yang tidak cekap, kualiti kod tema yang buruk, atau lonjakan trafik. 1. 2. Masukkan mod penyelesaian masalah untuk secara beransur-ansur membolehkan pemalam untuk menyelesaikan masalah kesesakan prestasi, gunakan QueryMonitor untuk menganalisis pelaksanaan pemalam dan memadam atau menggantikan pemalam yang tidak cekap; 3. Pasang pemalam cache, bersihkan data berlebihan, menganalisis log pertanyaan perlahan untuk mengoptimumkan pangkalan data; 4. Periksa sama ada topik itu mempunyai masalah seperti kandungan beban, pertanyaan kompleks, atau kekurangan mekanisme caching. Adalah disyorkan untuk menggunakan ujian topik standard untuk membandingkan dan mengoptimumkan logik kod. Ikuti langkah -langkah di atas untuk memeriksa dan menyelesaikan lokasi dan selesaikan masalah satu demi satu.

Fail JavaScript Minive boleh meningkatkan kelajuan memuatkan laman web WordPress dengan mengeluarkan kosong, komen, dan kod yang tidak berguna. 1. Gunakan pemalam cache yang menyokong penggabungan mampatan, seperti w3totalcache, aktifkan dan pilih mod mampatan dalam pilihan "Minify"; 2. Gunakan plug-in mampatan khusus seperti fastvelocityminify untuk memberikan lebih banyak kawalan berbutir; 3. Secara manual memampatkan fail JS dan memuat naiknya melalui FTP, sesuai untuk pengguna yang biasa dengan alat pembangunan. Perhatikan bahawa beberapa tema atau skrip plug-in mungkin bertentangan dengan fungsi mampatan, dan anda perlu menguji fungsi laman web dengan teliti selepas pengaktifan.

Kaedah untuk mengoptimumkan tapak WordPress yang tidak bergantung pada pemalam termasuk: 1. Gunakan tema ringan, seperti Astra atau GeneratePress, untuk mengelakkan tema tumpukan; 2. Secara manual memampatkan dan menggabungkan fail CSS dan JS untuk mengurangkan permintaan HTTP; 3. Mengoptimumkan imej sebelum memuat naik, gunakan format web dan saiz fail kawalan; 4. Configure.htaccess untuk membolehkan cache penyemak imbas, dan sambungkan ke CDN untuk meningkatkan kelajuan pemuatan sumber statik; 5. Hadkan semakan artikel dan data yang kerap dibersihkan data yang berlebihan.

Transientsapi adalah alat terbina dalam di WordPress untuk menyimpan data tamat tempoh automatik sementara. Fungsi terasnya adalah set_transient, get_transient dan delete_transient. Berbanding dengan OptionsAPI, transien menyokong penetapan masa kelangsungan hidup (TTL), yang sesuai untuk senario seperti hasil permintaan API cache dan data pengkomputeran yang kompleks. Apabila menggunakannya, anda perlu memberi perhatian kepada keunikan penamaan utama dan ruang nama, mekanisme "penghapusan malas" cache, dan isu yang mungkin tidak bertahan dalam persekitaran cache objek. Senario aplikasi biasa termasuk mengurangkan kekerapan permintaan luaran, mengawal irama pelaksanaan kod, dan meningkatkan prestasi pemuatan halaman.

Plugincheck adalah alat yang membantu pengguna WordPress dengan cepat menyemak keserasian dan prestasi pemalam. Ia digunakan terutamanya untuk mengenal pasti sama ada pemalam yang dipasang pada masa ini mempunyai masalah seperti tidak serasi dengan versi terkini WordPress, kelemahan keselamatan, dan lain-lain. Bagaimana untuk memulakan cek? Selepas pemasangan dan pengaktifan, klik butang "Runascan" di latar belakang untuk mengimbas semua pemalam secara automatik; 2. Laporan ini mengandungi nama pemalam, jenis pengesanan, penerangan masalah dan cadangan penyelesaian, yang memudahkan pengendalian masalah yang serius; 3. Adalah disyorkan untuk menjalankan pemeriksaan sebelum mengemas kini WordPress, apabila keabnormalan laman web tidak normal, atau kerap dijalankan untuk menemui bahaya tersembunyi terlebih dahulu dan mengelakkan masalah utama di masa depan.

Cara yang paling berkesan untuk mengelakkan spam komen adalah untuk mengenal pasti dan memintasnya secara automatik melalui cara programatik. 1. Menggunakan mekanisme kod pengesahan (seperti Googler Captcha atau HCaptcha) untuk membezakan secara berkesan antara manusia dan robot, terutama yang sesuai untuk laman web awam; 2. Tetapkan bidang tersembunyi (teknologi honeypot), dan gunakan robot untuk mengisi ciri -ciri secara automatik untuk mengenal pasti komen spam tanpa menjejaskan pengalaman pengguna; 3. Semak senarai hitam Kata Kunci Kandungan Komen, maklumat spam penapis melalui pemadanan kata yang sensitif, dan perhatikan untuk mengelakkan salah faham; 4. Hakim kekerapan dan sumber IP komen, hadkan bilangan penyerahan per unit masa dan buat senarai hitam; 5. Gunakan perkhidmatan anti-spam pihak ketiga (seperti Akismet, CloudFlare) untuk meningkatkan ketepatan pengenalan. Boleh berdasarkan laman web

Apabila membangunkan blok gutenberg, kaedah aset enqueue yang betul termasuk: 1. Gunakan daftar_block_type untuk menentukan laluan editor_script, editor_style dan gaya; 2. Daftar sumber melalui wp_register_script dan wp_register_style dalam fungsi.php atau plug-in, dan tetapkan kebergantungan dan versi yang betul; 3. Konfigurasikan alat binaan untuk mengeluarkan format modul yang sesuai dan pastikan laluan itu konsisten; 4. Kawalan logik pemuatan gaya depan melalui add_theme_support atau enqueue_block_assets untuk memastikan logik pemuatan gaya front-end dipastikan.

Untuk menambah medan pengguna tersuai, anda perlu memilih kaedah lanjutan mengikut platform dan memberi perhatian kepada pengesahan data dan kawalan kebenaran. Amalan umum termasuk: 1. Gunakan jadual tambahan atau pasangan nilai utama pangkalan data untuk menyimpan maklumat; 2. Tambah kotak input ke hujung depan dan diintegrasikan dengan hujung belakang; 3. Mengatasi Pemeriksaan Format dan Kebenaran Akses untuk Data Sensitif; 4. Kemas kini antara muka dan templat untuk menyokong paparan dan penyuntingan medan baru, sambil mengambil kira penyesuaian mudah alih dan pengalaman pengguna.
