WordPress-Suchwidget auf bestimmte Post Types beschränken

Für eine WordPress-Installation war ich auf der Suche nach einer Möglichkeit die Suche bzw. im Speziellen das Suchwidget so zu beschränken das nur die Post Types page und post durchsucht und angezeigt werden. Möglich ist dies, indem ein Filter für pre_get_posts in die functions.php des Themens hinzugefügt wird:

function search_only_in_specific_post_types( $query ) {
	
  // Modify query (but only in frontend)
  if ( $query->is_search && is_admin() == false ) {
    $query->set( 'post_type', array( 'page','post') );
  }
	
  return $query;
}

add_filter( 'pre_get_posts', 'search_only_in_specific_post_types' );

Der Filter passt die Query an, wenn die Query für eine Suche genutzt wird und diese Nutzung aus dem Frontend heraus geschieht. Die Begrenzung auf des Frontend ist notwendig um keine Suchqueries im Backend zu stören. Damit würde die modifizierte Suche nur noch Dokumente mit dem Post Type page und post finden.

Skobblers OpenStreetMap Frontend

Das unter http://www.openstreetmap.org/ das OpenStreetMap Projekt, mit der entsprechenden Karte zu finden ist, sollte den meisten bekannt sein. Daneben gibt es einige weitere Projekte welche die OSM Karte nutzen, aber die Kartendaten anders darstellen wie die OpenSeaMap oder die OpenCycleMap. Die Skobbler GmbH bietet seit einiger Zeit ein eigenes Frontend für OpenStreetMap unter http://maps.skobbler.de an.

Das Skobbler Frontend

Das Skobbler Frontend

Neben der normalen Anzeigefunktion für die Karten enthält das Frontend auch einen Routingfunktionalität, sowie die Möglichkeit Fehler zu melden. Auch kann man mittels des “Edit” Button auch einen Kartenabschnitt bearbeiten, wobei man dafür zur originären OpenStreetMap Seite weitergeleitet wird. Auch der Kartenstil hebt sich von Standard OSM Stil angenehm ab. Man könnte das Frontend von Skobbler ein wenig für das Google Maps für OpenStreetMap halten, ohne deren Probleme wie die unfreie Lizenz der Daten.