Om du använder anpassade inläggstyper kanske du vill skapa ett formulär som gör att klienci endast kan söka i det innehållet. Detta kan hjälpa människor att hitta det de letar efter och få dem att stanna kvar på din webbplats längre.
Under årens lopp har vi använt anpassade inläggstyper på flera av våra webbplatser för att förbättra innehållsorganisationen. Dessutom har vi lagt till sökformulär specifikt för dessa inläggstyper, vilket har lett till en märkbar ökning av antalet visningar för dessa inlägg och meddelanden.
Tidigare var dessa inlägg svårare att hitta, men nu, med sökfunktionen, har de blivit mycket lättare att hitta, vilket hjälper fler användare att engagera sig i innehållet.
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 przewodnik om hur du skapar anpassade inläggstyper i WordPress. Sedan kan du hoppa in i vår poradnik om hur du skapar ett avancerat WordPress-sökformulär för anpassade inläggstyper nedan.
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-webbplats ä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, webbplats eller onlinemarknadsplats kommer nu att inkludera anpassade inläggstyper i sina sökresultat.
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 anpassade inläggstyper 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 söker formuläret efter media, sidor och inlägg och ignorerar anpassade inläggstyper. Om du vill inkludera anpassade inläggstyper måste du hitta fältet ”Typ av sökning” och klicka på det.
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 leder dig till sidan ”Create Custom Fragment”, där du måste lägga till ett namn på fragmentet och välja ”PHP Snippet” som kodtyp.
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 sökformulär i WordPress för anpassade inläggstyper. Du kanske också vill se vår poradnik om hur man använder flera sökformulär i WordPress och vår przewodnik om hur man utesluter specifika sidor, författare och mer från WordPress-sökning.
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.
tinhbeng
Hi,
How to me can add product post type in here?
Thank,
vijay
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
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
Sir.. can you plz attach screenshot with tutorials afterwords?? i think it’s more helpful for us..
Sean
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
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
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
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
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
Dang.. still nothing. . .
Marie
Hi, there isn’t a way to tell the engine to automatically list all terms or tags or custom field? thanks
Editorial Staff
Not yet.
Administratör
Paul
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
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
You can search pages except in most cases your about page, contact page, legal page, privacy policy page are mostly irrelevant.
Administratör
Fakeuser
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
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
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
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
Use CSS classes. Each post outputs its own post classes i.e categories, post types etc.
Administratör
Merianos Nikos
Very nice article
SDesign
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
Ever come across anything that explains this?
SDESIGN
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
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
@CathieHeart That can be accomplished using the similar technique.
mainaPlus
Does this work with a buddypress enabled site?
wpbeginner
@mainaPlus Haven’t tried it with BuddyPress so not sure
Robin
Would this be able to work with a buddypress enabled site?
Editorial Staff
Not sure about that. We don’t have much experience with BuddyPress.
Administratör
wpbeginner
Haven’t tried it with BuddyPress so not sure.
Abdelhadi Touil
Very nice tutorial! Thanks.
Herny Louis
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
I would love to see a way to do this with custom fields as well.
oneeezy
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!!