Mit Hilfe der sog. Benutzerdefinierten Felder (Custom Fields) kann der WordPress-Editor um zusätzliche Eingabefelder erweitert werden. Leider werden die Inhalte der Custom Fields bei der WordPress-Suche ignoriert und eventuell relevante Ergebnisse folglich nicht in den Suchergebnissen angezeigt. In diesem Beitrag archivieren wir ein Snippet das Custom Fields zur WordPress-Suche hinzufügt.

Custom Fields in die Suche integrieren

Mit folgendem Snippet könnt ihr Benutzerdefinierte Felder der WordPress-Suche hinzufügen. Fügt folgenden PHP-Code in eure functions.php ein:

<?php

// Verknüpfe Beiträge mit der »postmeta«-Tabelle
function kb_search_join( $join ) {
  global $wpdb;
  if ( is_search() ) { 
    $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id ';
  }
  return $join;
}
add_filter('posts_join', 'kb_search_join' );


// Ändere den »Search Query« mit »posts_where«
function kb_search_where( $where ) {
  global $pagenow, $wpdb;
  if ( is_search() ) {
    $where = preg_replace(
 "/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
    "(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where );
  }
  return $where;
}
add_filter( 'posts_where', 'kb_search_where' );


// Verhindere doppelte Ausgabe
function kb_search_distinct( $where ) {
  global $wpdb;
  if ( is_search() ) {
    return "DISTINCT";
  }
  return $where;
}
add_filter( 'posts_distinct', 'kb_search_distinct' );

?>

Quellen / Links

Geschrieben von kulturbanause Team

Benutzerbild

Beiträge bei denen das kulturbanause-Team als Autor angegeben ist, wurden von mehreren Personen in Zusammenarbeit geschrieben. Wir nutzen diesen Blog als öffentliches Archiv und um euch bei alltäglichen Problemen im Zusammenhang mit der Erstellung von Websites zu helfen. Neben diesem Blog bieten wir auch Trainings wie Schulungen, Bücher oder Videos an. Und natürlich unterstützen wir auch gerne im Rahmen unserer Agenturtätigkeit.

Feedback & Ergänzungen – 2 Kommentare

  1. Armin
    schrieb am 16.03.2018 um 12:32 Uhr:

    Das hat meinen Tag gerettet, Vielen Dank.

    Antworten
  2. hans
    schrieb am 08.02.2016 um 13:38 Uhr:

    auch neulich gefunden, schön wenn man ein plugin über bord werfen kann :)

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →