Vill du skapa ett avancerat search-formulär i WordPress för custom post types?
Om du använder custom post types kanske du vill skapa ett formulär som allow visitors att searcha endast det innehållet. Detta kan hjälpa människor att hitta vad de letar efter och hålla dem kvar på din site längre.
I den här artikeln visar vi dig hur du enkelt skapar ett avancerat search-formulär för custom post types i WordPress, steg-för-steg.
Varför skapa ett avancerat sökformulär för Custom Post Types?
Custom post types allow you to go beyond posts and pages and make different content types for your website. Till exempel använder vi custom post types här på WPBeginner för att organisera våra Deals och Glossary sections.
WordPress inkluderar dock inte custom post types i sina sökresultat som standard. Detta kan leda till att visitorerna missar viktigt content och du missar sidvisningar.
Tack och lov kan du inkludera custom post types i dina sökresultat med hjälp av ett WordPress search plugin. Du kan till och med gå ett steg längre och skapa ett avancerat formulär som endast söker efter custom post types.
Till exempel, på WPBeginner, har vi skapat formulär för custom post type search på våra Deals och Glossary pages.
Ofta hjälper den här typen av avancerade sökformulär besökarna att hitta det de letar efter snabbare, vilket förbättrar besökarnas upplevelse och minskar avvisningsfrekvensen.
Först kan du se vår guide om hur du skapar custom post types i WordPress. Sedan kan du hoppa in i vår tutorial om hur du skapar ett avancerat WordPress-sökformulär för custom post types.
Skapa en new search-algoritm för WordPress med ett plugin för WordPress
Det enklaste sättet att skapa ett avancerat sökformulär för custom post types är genom att använda SearchWP plugin. Det är det bästa sökpluginet och allow you att söka content som WordPress ignorerar som standard.
Du kan till exempel göra kommentarer på bloggar sökbara och add to PDF-indexering och -sökning på din website.
Så här konfigurerar du SearchWP
Det första du behöver göra är att installera och aktivera SearchWP plugin. För mer detaljer, se vår Step-by-Step guide om hur du installerar ett WordPress plugin.
Vid aktivering måste du gå till SearchWP ” Settings och klicka på tabben ’Allmänt’.
Du måste nu enter din licens i boxen ”License Key”. Du hittar denna information i ditt konto på SearchWP-webbplatsen.
När du är klar, se till att klicka på knappen ”Verify Key”.
Skapa en customize sökalgoritm
Din nästa uppgift är att skapa en customize search-algoritm. Det allow you to specify the content that SearchWP includes in its search results, like pages, posts, media, and any custom post types.
För att komma igång måste du gå till SearchWP ” Algoritm i din WordPress adminpanel.
Här kommer du att se en section för varje content type som SearchWP inkluderar i sina search-resultat.
För att add to din custom post type klickar du bara på knappen ”Sources & Settings”.
I popupen som visas markerar du boxen bredvid varje custom post type som du vill inkludera i sökresultaten.
Därefter klickar du på ”Done”.
SearchWP kommer att lägga till en new section för varje custom post type. Varje section visar all de attribut som SearchWP kommer att inkludera i sina search, såsom Rubrik, slug och excerpt.
Om du vill lägga till eller ta bort attribut klickar du helt enkelt på ”Add/Remove Attributes”.
I popupen kontrollerar du boxen bredvid varje attribut som du vill inkludera i sökresultaten.
Om du vill ta bort ett attribut kan du istället avmarkera dess box.
I den här popupen kan du också göra customize-fält sökbara i WordPress.
När du är nöjd med de ändringar du har gjort går du vidare och klickar på ”Done”.
You will notice that each attribute also has an Application Attribute Relevance slider. Detta kontrollerar hur SearchWP rankar innehållet när de bygger sin sökresultatsida i WordPress.
Om ett attribut har hög relevans kommer det att ha större inverkan på sökresultaten. Däremot kommer content som matchar ett attribut som har mindre relevans att visas lägre i sökresultaten.
Om du till exempel flyttar slidern ”Rubrik” till höger och slidern ”Content” till vänster, kommer titeln på ett post att väga tyngre än innehållet.
Varje WordPress website är unik, så du kanske vill prova olika relevansinställningar för att se vad som ger dig de mest exakta och användbara sökresultaten.
Om du t.ex. har skapat en custom post type för ”customer reviews” för din butik är detta viktigt content, så du kanske vill ge det hög relevans.
När du är nöjd med hur funktionen search är inställd rullar du bara högst upp på vyn och klickar på knappen ”Save”.
SearchWP kommer nu att bygga om indexet automatiskt. Beroende på hastigheten på din anslutning och din WordPress hosting provider kan detta ta några minuter.
Så snart du ser ”Index Status 100%”, vet du att SearchWP har addat dina custom post types till sitt search index.
Din WordPress-blogg, website eller onlinemarknadsplats kommer nu att inkludera custom post types i sökresultaten.
Skapa ett avancerat sökformulär för Custom Post Types
När det är gjort är du redo att skapa ett avancerat formulär som endast söker efter dina custom post types.
För att komma igång, head över till SearchWP ” Sökformulär och klicka på knappen ’Add New’.
Detta skapar ett new formulär, redo för you att customize.
Om du vill ge formuläret ett unikt namn klickar du på den lilla iconen med pennan bredvid ”Search Form 1”.
Du kan nu skriva in ett namn för formuläret för customize search.
Detta är bara för din referens, så du kan använda allt som hjälper dig att identifiera formuläret i din WordPress dashboard. Detta är särskilt viktigt om du har planer på att skapa flera search-formulär i WordPress.
Därefter kan du välja vilken layout du vill använda med hjälp av thumbnailerna för ”Layout Theme”.
Klicka bara på de olika themes för att se en preview av hur stilen kommer att se ut på din website i WordPress.
För att skapa ett sökformulär för custom post types vill du vanligtvis använda antingen ”Basic” eller ”Quick Search”.
Dessa stilar tillåter inte besökare att söka efter kategori, vilket hjälper till att hålla dem fokuserade på custom post types.
När du har fattat ditt beslut rullar du till ”Custom Styling” section.
De Settings som du ser kan variera beroende på layouten i ditt theme. Om du till exempel valde ”Quick Search” kommer inställningen ”Quick Search” att vara aktiverad som standard.
Du kan inaktivera och aktivera de olika alternativen med hjälp av deras togglar.
Live preview uppdateras automatiskt när du gör ändringar, så att du kan prova olika Settings för att se vad som fungerar bäst.
Som standard kommer formuläret att söka efter media, pages och posts och ignorera custom post types. För att inkludera custom post types måste du hitta fältet ”Type of search” och ge det ett click.
Du kan nu skriva in namnet på varje custom post type.
När rätt post type appear, ge den ett click för att add to the search.
Vill du bara söka efter custom post types och ignorera allt annat content?
Sedan klickar du bara på det lilla ”X” bredvid ”Media”, ”Pages” och ”Posts”.
När det är gjort kommer formuläret endast att söka efter dina custom post types.
När du är nöjd med hur formuläret är uppbyggt rullar du till ”Form Style” section. Här kan du välja mellan olika formulärstilar, add to en kant, ändra storleken på fonten och mycket mer.
Under ”Button Style” kan du customize knappen ”Search” som visas i formuläret.
När du är nöjd med hur formuläret är uppbyggt rullar du högst upp på vyn och klickar på ”Save” för att store dina settings.
Så här addar du custom post types till WordPress
Nu är du redo att add to search-formuläret till WordPress med hjälp av antingen en shortcode eller ett block.
Den enklaste metoden är att använda ett block, så head över till sidan eller inlägget där du vill lägga till formuläret för custom post type.
You can then click on the ’+’ icon and type in ’Search Form’.
När rätt block appearance, ge det ett click.
Öppna sedan dropdown-menyn ”Select a Form” och välj det search-formulär som du skapade under den här tutorialen.
När du är redo att göra sökformuläret live klickar du bara på antingen ”Update” eller ”Publicera”. Nu kan you besöka your website för att se search-formuläret i action.
Ett annat alternativ är att add to search-formuläret med hjälp av en shortcode.
För att få shortcode måste du heada över till SearchWP ” Sökformulär. Här hittar du det sökformulär som du vill visa och kopierar värdet i kolumnen ”Shortcode”.
Du kan nu add shortcode till vilken page, post eller widget-ready area som helst. För steg-för-steg-instruktioner om hur du gör detta, vänligen se vår guide om hur du lägger till en shortcode i WordPress.
Bonus: Add Custom Post Types till ditt RSS-flöde
Nu när du har skapat ett sökformulär för custom post types kan du också add to dem till ditt huvudsakliga RSS-flöde. Detta gör det lättare för användare att upptäcka mer content på din website och prenumerera på det.
Plus, att tillåta custom post types i det huvudsakliga RSS-flödet kan öka din sites sökmotorsoptimering.
För att göra detta måste du add to följande custom code till din functions.php fil. tänk på att det kan vara lite farligt eftersom den minsta kan bryta din website.
function myfeed_request($qv) {
if (isset($qv['feed']))
$qv['post_type'] = get_post_types();
return $qv;
}
add_filter('request', 'myfeed_request');
Det är därför vi rekommenderar att du använder WPCode. Det är det bästa WordPress code snippet plugin och det säkraste sättet att add to custom code.
Efter aktivering av plugin, besök bara Code Snippets ” + Add Sn ippet-sidan och välj alternativet ”Add Your Custom Code (New Snippet)”.
Detta kommer att leda dig till ”Create Custom Snippet” page där du måste add to ett snippet namn och välja ”PHP Snippet” som code type.
Efter det kan du add to koden och toggle omkopplaren ”Inaktiverad” till ”Aktiv”.
Klicka sedan på knappen ”Save Snippet” för att spara dina Settings. Dina custom post types har nu lagts till i WordPress huvudsakliga RSS-flöde.
För detaljer, se vår tutorial om hur du lägger till custom post types till ditt huvudsakliga WordPress RSS-flöde.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du skapar ett avancerat search-formulär i WordPress för custom post types. Du kanske också vill se våra custom post types tutorials och våra expertval för de bästa WordPress-tilläggen för att få din website att växa.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
tinhbeng says
Hi,
How to me can add product post type in here?
Thank,
vijay says
Thanks for the information, I want to know whether there is any way I can have dropdown style of search forms, as I have large number of post types, it would make it look ugly if I put all of them below search bar.
Penguin says
Hi, Thanks a lot. This works pretty good for me. I am using dropdown instead of checkbox. But how can I style it to make it smilar to the one in LinkedIn header search section? Does that requires javascript? Do I use font icons for that? I am using fontawesome in my header. But I don’t know how to integrate this with fontawesome in a dropdown.
mayur says
Sir.. can you plz attach screenshot with tutorials afterwords?? i think it’s more helpful for us..
Sean says
Check out WP Advanced Search: http://wpadvancedsearch.com/
We’ve got support for taxonomies, custom fields, and just about everything else that WP_Query supports.
Thad says
Thanks for sharing Sean, I also found this plugin that works fairly well for those not comfortable with diving into the PHP: http://wordpress.org/plugins/advance-wp-query-search-filter/
Brad says
How could I use this to search a custom table of data. This is for a sports team site, and basically, I need a search box where someone can ”Search by”: Last name, First name, or Team.
So how can I search by a field name?
Darren says
This is an awesome tutorial, thank you.
Is there a way that I could mix this with categories? So that I could have both custom post types and categories selectable?
Thanks again :).
Jonathan Stevens says
Hi Darren,
I had the same problem. Ended up with this messy solution, but it worked:
http://antimatterdesign.com/how-to-create-a-wordpress-advanced-search-form-from-scratch/
ONEEEZY says
Dang.. still nothing. . .
Marie says
Hi, there isn’t a way to tell the engine to automatically list all terms or tags or custom field? thanks
Editorial Staff says
Not yet.
Administratör
Paul says
This is an aspect of WordPress that could be improved, I agree.
If you don’t want to code, you can try Pippin’s search plugin:
http://pippinsplugins.com/advanced-search-shortcode/
Elliott says
Nice tutorial… Am designing a custom search for my new site at the moment.
Curious why you don’t think searching on pages is a good idea?
Editorial Staff says
You can search pages except in most cases your about page, contact page, legal page, privacy policy page are mostly irrelevant.
Administratör
Fakeuser says
I’m getting this error after changing the name of the input fields to s[]
Warning: stripslashes() expects parameter 1 to be string, array given in wp-includes\query.php on line 2179
I’ve changed the call to stripslashes() call to stripslashes_deep() but it broke other thigs… any sugestions?
Benjamin Wilde says
I’m looking for a way to have a form with separate controls for location AND category, both in dropdown boxes. Obviously I can do this, but I have no idea how to do a multiple-query search in WordPress. Any ideas?
Aldo Valverde says
Do you think is it possible to do the same but including Post Type Categories as well….
…I mean, the same Post Type checkboxes and when user select an specific checkbox that appear-down other checkboxes but as categories and filter even more the Search of WordPress ?
Rocky Ouprasith says
Awesome! thanks for the help!
there is one thing though…
my post types are all styled differently.
how can I assign the template of a post type with the correct post types?
thanks!
Editorial Staff says
Use CSS classes. Each post outputs its own post classes i.e categories, post types etc.
Administratör
Merianos Nikos says
Very nice article
SDesign says
Great tutorial! One question though: What would the syntax be for making the checkboxes in the form use taxonomies rather than post types?
Would something like this work?:
Perhaps this is worthy of another tutorial. Any additional help is greatly appreciated.
Thad says
Ever come across anything that explains this?
SDESIGN says
No, I decided to go with custom post types instead.
If anyone has any insight, on this it would be greatly appreciated.
The specific question is how to make something like this work using taxonomies instead of post types?
CathieHeart says
Hi, you wouldn’t happen to also have a section to add maybe for those of us wanting to a dropdown menu search form interface rather than checkboxes?
Thanks.
wpbeginner says
@CathieHeart That can be accomplished using the similar technique.
mainaPlus says
Does this work with a buddypress enabled site?
wpbeginner says
@mainaPlus Haven’t tried it with BuddyPress so not sure
Robin says
Would this be able to work with a buddypress enabled site?
Editorial Staff says
Not sure about that. We don’t have much experience with BuddyPress.
Administratör
wpbeginner says
Haven’t tried it with BuddyPress so not sure.
Abdelhadi Touil says
Very nice tutorial! Thanks.
Herny Louis says
Thanks Syed and David. Need to test it on one of my websites. Definitely this kind of categorization will help visitors to do narrow search.
zachshallbetter1 says
I would love to see a way to do this with custom fields as well.
oneeezy says
Yes!
What Zach said…
It would be ideal to have this ”Advanced Form” be able to search through custom fields. You could make the ultimate search form this way. Any takers??? C’mon WP Beginner!!