Wie können wir Taxonomie und Stichwortsuche zusammen in WordPress durchsuchen?

Lesezeit: 1 Minute

Benutzer-Avatar
wailynoo

Ich habe einen benutzerdefinierten Beitragstyp erstellt und er hat drei Taxonomien. Ich möchte ein Suchformular mit dem Schlüsselwort (Typ nach Benutzer) und drei Taxonomie-Dropdown-Listenfeldern erstellen.

Nur die Suche nach drei Listenfeldern gibt mir das richtige Suchergebnis. Kaufen, wenn ich das Textfeld für den Benutzertyp hinzufüge. Dafür gibt es jetzt ein Ergebnis.

Der folgende Code funktioniert nicht.

$list = array();
  $item = array(); 
  foreach($_GET as $key => $value){
  if($key == 's'){
  $item['s'] = htmlspecialchars($key);
  $item['keyword'] = htmlspecialchars($value);
  $list[] = $item;
  }
  if($value != '' && $key != 's'){
  $item['taxonomy'] = htmlspecialchars($key);
  $item['terms'] = htmlspecialchars($value);
  $item['field'] = 'slug';
  $list[] = $item;
  } 
  } 
  $cleanArray = array_merge(array('relation' => 'AND'), $list);
  $args['post_type'] = 'listings';
  $args['showposts'] = 12;
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
  $args['paged'] = $paged; 
  $args['tax_query'] = $cleanArray; 
$the_query = new WP_Query( $args ); //data is sanitized inside wp_query class

  • Es wäre eine gute Idee, den Code, den Sie bisher haben, zu teilen.

    – CE

    16. Januar 2013 um 18:18 Uhr

  • Ich füge einen Teil des Codes hinzu. Es ist werkzeuglang, den gesamten Code hinzuzufügen. Vielen Dank!

    – Wailynnoo

    16. Januar 2013 um 18:48 Uhr

Ich habe die Antwort erhalten, indem ich meinen Code wie unten geändert habe.

global $query_string;

$query_args = explode("&", $query_string);
$search_query = array();

foreach($query_args as $key => $string) {
    $query_split = explode("=", $string);
    $search_query[$query_split[0]] = $query_split[1];
} // foreach
$args = array(
    'post_type' => 'listings',
    's' => $search_query['s'],

    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'type',
            'field' => 'slug',
            'terms' => $search_query['type']
        ),
        array(
            'taxonomy' => 'rooms',
            'field' => 'slug',
            'terms' => $search_query['rooms']
        )
    )
);
$the_query = new WP_Query($args);

1179900cookie-checkWie können wir Taxonomie und Stichwortsuche zusammen in WordPress durchsuchen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy