wie Sie benutzerdefinierte Felder und benutzerdefinierte Taxonomie für benutzerdefinierte Suche suchen

Ich habe eine benutzerdefinierte Suche, bei der es sich um ein Formular handelt, das die selbe Seite einreicht und wp_query verwendet, um die Ergebnisse für eine Jobsite zu filtern, die auch nach benutzerdefinierten Feldern und einer benutzerdefinierten Taxonomie sucht. Ich weiß jedoch nicht, wie Verwenden Sie posts_join, um dies zu tun.

Ich möchte dem Benutzer erlauben, die Referenznummer in das Schlüsselwortfeld einzutippen und in allen benutzerdefinierten Feldern und der benutzerdefinierten Taxonomie zu suchen, aber nicht die Ergebnisse zu filtern, da sie nicht immer übereinstimmen, wenn ich nach einer Fähigkeit suche, die ich nicht tue möchte, dass es keine Ergebnisse zurückgibt, wenn es nicht mit dem Feld “skill custom” übereinstimmt, da das Schlüsselwort möglicherweise in der Hauptbeschreibung steht

Ist das sinnvoll?

UPDATE: Ich habe diesen Code gefunden: Fügen Sie einen benutzerdefinierten Taxonomiebegriff in die Suche ein

Aber es funktioniert nicht richtig aus irgendeinem Grund, anstatt 11 Ergebnisse zurück zu bringen, die es zeigt 114, so dass etwas nicht ganz richtig ist. Hover es ist in der benutzerdefinierten Taxonomie suchen, so ist dies ein Ausgangspunkt.

Ich brauche es nur, um die benutzerdefinierten Taxonomie- und benutzerdefinierten Felder zu durchsuchen, aber die Anzahl der Ergebnisse zu korrigieren

Solutions Collecting From Web of "wie Sie benutzerdefinierte Felder und benutzerdefinierte Taxonomie für benutzerdefinierte Suche suchen"

Hat es geschafft, es herauszufinden, indem ich diesen Code von dem Link, den ich gepostet habe, angepasst habe:

function atom_search_where($where){ global $wpdb; if($_SESSION['js'] != '') $where .= "OR (t.name LIKE '%".trim($_SESSION['js'])."%' AND {$wpdb- >posts}.post_status = 'publish')"; $where .= "OR ($wpdb->postmeta.meta_key = '_job_ref' AND $wpdb->postmeta.meta_value = '".$_SESSION['js']."')"; return $where; } function atom_search_join($join){ global $wpdb; if($_SESSION['js'] != '') $join .= "LEFT JOIN {$wpdb->term_relationships} tr ON {$wpdb->posts}.ID = tr.object_id INNER JOIN {$wpdb->term_taxonomy} tt ON tt.term_taxonomy_id=tr.term_taxonomy_id INNER JOIN {$wpdb->terms} t ON t.term_id = tt.term_id"; $join .= "LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)"; return $join; } 

Schau dir dieses Plugin an: Suche alles