Meerdere zoekformulieren gebruiken in WordPress

Meerdere zoekformulieren gebruiken in WordPress / tutorials

Onlangs hebben we u laten zien hoe u zoekresultaten voor specifieke berichttypen in WordPress kunt beperken. Nu gaan we u laten zien hoe u verschillende / meerdere zoekformulieren kunt maken. Op deze manier kan elk formulier worden beperkt tot het zoeken naar een specifiek berichttype. Hoewel dit niet erg moeilijk is, moet je een basiskennis hebben van WordPress-sjablonen.

Ten eerste hebt u enkele zoekformulieren nodig. Plaats de volgende code waar u maar wilt dat deze in uw blog staat:

 

Als u wilt opgeven wat voor soort zoekopdracht dit formulier zal doen, hoeft u alleen de waarde van het verborgen veld te wijzigen. Op dit moment is het ingesteld op "normaal", maar het kan alles zijn wat je wilt. Vervolgens moeten we het bestand search.php wijzigen. Open het en vervang alles daarin door deze code (kopieer de bestaande code eerst naar je klembord, je hebt het binnen een minuut nodig):

  

Dus we gaan ervan uit dat je twee zoekformulieren hebt, normaal en boeken. Deze code leidt eenvoudigweg de zoekopdracht om naar het php-bestand dat die specifieke query afhandelt. Nu moeten we alleen die bestanden maken. Dus, ga je gang en maak een normale-zoek.php en boeken-zoek.php bestand (vervang gewoon "normaal" en "boeken" met welke waarden je ook hebt gebruikt).

Kopieer en plak in normale-search.php de volgende code:

 $ args = array ('post_type' => 'post'); $ args = array_merge ($ args, $ wp_query-> query); query_posts ($ args); 

Direct na deze plak de loop code van je klembord die je gekopieerd hebt van het search.php bestand. Deze code zoekt samen alleen naar uw normale blogposts. Voeg nu in het bestand books-search.php dit stukje code toe en plak de lus er meteen weer achteraan:

 $ args = array ('post_type' => 'boeken'); $ args = array_merge ($ args, $ wp_query-> query); query_posts ($ args); 

Dit zorgt ervoor dat WordPress alleen naar het aangepaste berichttype "boeken" zoekt. U kunt dit proces herhalen voor zoveel zoekformulieren als u maar wilt.