Beperk zoekresultaten tot bepaalde post-typen

Hoe beperk je de post typen die terug komen vanuit een zoekopdracht?

Wil je direct een mail ontvangen wanneer nieuwe snippets zijn toegevoegd?

Vul dan onderstaand formulier in en je krijgt direct na het toevoegen van nieuwe snippets een email. Zo blijf je altijd bij!

Ik heb deze snippet al een aantal jaren geleden binnen een blogpost de revue laten passeren. Het probleem is echter, dat veel van de code snippets die ik in blogposts laat zien niet zo makkelijk teruggevonden worden door mensen die op zoek zijn naar een specifieke oplossing.

Het blogartikel ging er namelijk over, hoe je je website psychologisch aantrekkelijker kan maken. Wanneer jouw concrete vraag is ‘hoe kan ik mijn zoekresultaten beperken tot specifieke (custom) post types’ dan zou je niet echt het idee hebben, dat je in dat artikel de oplossing voor je probleem zou kunnen vinden.

Vandaar dat ik veel snippets uit blogposts toch nog maar eens ‘geïsoleerd’ opneem. Zoals deze hier.

Het probleem is dus, dat ik niet alle custom post types in de zoekresultaten terug wil zien komen. Ik wil bijvoorbeeld wel zoeken in ‘post’, maar niet in ‘page’. Of wel in ‘product’ en ‘post’… maar niet in de mogelijk 34 andere post types die ik heb, en niet in de zoekresultaten getoond wil hebben.

Dat kan vrij eenvoudig.

<?php 
if ( !is_admin() ) {
   function wxp_searchfilter($query) {
      if ($query->is_search && !is_admin() ) {
         $query->set('post_type',array('product','post'));
      }
      return $query;
   }
   add_filter('pre_get_posts','wxp_searchfilter');
}

In bovenstaand voorbeeld zal alleen gezocht worden in ‘Berichten’ (post) en ‘Producten’ (product). En in geen enkel ander post type.

We werkelijke magie zit hem in regel 5. De post typen die (tussen aanhalingstekens en komma gescheiden) tussen haakjes bij het woordje ‘array’ staan, dat zijn de enige post typen die getoond zullen worden.

Codesnippet verbeteren

Het doel van deze code snippet is een probleem op te lossen in een specifieke situatie. Daarom zie je regelmatig voorbeelden waar je specifiek tekst moet aanpassen om te krijgen wat je wilt. 

Wil jij leren hoe je complete plugins zelf kunt programmeren inclusief ‘admin’ schermen voor het instellen en de output in de gewenste taal, dan is misschien de cursus ‘Introductiecursus Plugins Programmeren‘ iets voor jou. 

Wil je als ‘full stack’ WordPress programmeur aan de gang gaan, dan biedt WordXPression ook een compleet traject ‘WordPress Developer‘ aan. Dit is een traject wat deels online, deels klassikaal wordt gegeven.

WordPress Developer worden?

Wil je leren hoe je zelf plugins, thema's, shortcodes, widgets, Gutenberg blocks en meer kan maken?
Schrijf je dan in voor de cursus WordPress Developer.

Meer snippets

Hoe kom ik aan WooCommerce productgegevens voor mijn snippets?
Een overzicht hoe je het best het $product object kan benaderen in verschillende situaties.
Op Woensdag alle pizza's voor 7 euro! (WooCommerce)
Een leuke uitdaging. Een klant wilde een aanpassing op WooCommerce om op specifieke weekdagen andere...
Content aan de WooCommerce bestelbevestiging toevoegen
Pas de emails van WooCommerce aan. Bijvoorbeeld om de klant met een aparte kortingscode terug te laten...
Titel voor reacties aanpassen per CPT
Wil je de titel van je WordPress commentaar sectie aanpassen, dan moet je dit beslist lezen.
Koopsuggesties op basis van eerdere orders toevoegen
Het codefragment in deze snippet maakt onderdeel uit van een wat groter project. In het blogartikel ‘Flexibel...
Een WooCommerce externe link in een nieuw tabblad openen
Wanneer je in je WooCommerce webshop (ook) affiliate producten aanbiedt, dan wil je eigenlijk niet dat...

Veiligheid voor alles!

Met betrekking tot de code die je hier aantreft een aantal waarschuwingen, voordat je deze code snippets toepast op je eigen website.

  1. Voer de code nooit direct uit op je eigen website, maar probeer deze eerst op een staging omgeving of een locale kopie van je website. 
  2. Voor je de geteste code installeert op je website, maak eerst een back up van je website.
  3. Zorg altijd voor alle zekerheid, dat je voor je een aanpassing live zet, je ook de FTP gegevens van je website bij de hand hebt.  
 
Voel je je onvoldoende vertrouwd met het toepassen van een dergelijke code snippet, bedenk dat je dit ook door een professional kan laten doen. De WordXPression support strippenkaart is een voordelige manier om dit soort aanpassingen te laten doen.
Heeft dit artikel je geholpen je probleem op te lossen?
Deel het met je vrienden via je favoriete social media.

Heb je vragen bij, of opmerkingen over deze code snippet, stel deze bij de commentaren hieronder.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Word je website de baas. Neem vandaag nog contact op!

Contact Informatie

WordXPression 

Aardoliestraat 14-I
7553GT Hengelo

06-10449807 (van 9:00 tot 17:00 van ma-vr)
Let op, gewijzigd telefoonnummer

KVK : 75580152 

Social media
Stuur een bericht

Introductiecursus Plugins Programmeren

wordpress coding Can use php code as background in html

Ontdek de wereld van WordPress Plugin ontwikkeling met WordXPression's introductiecursus