2016-09-14 11 views
0

Ich habe ein Thema mit einer Portfolio-Seite, die es mir ermöglicht, bestimmte Portfolio-Kategorien auszuschließen, indem die Kategorien die ich ausblenden möchte. (z. B. Film, Kunst)Wie man eine Portfolio-Kategorie ausschließt

Das Problem ist, dass bestimmte Portfolioelemente mehreren Kategorien zugewiesen sind und mein Thema das Portfolioelement nicht anzeigt, wenn eine Kategorie deaktiviert ist, aber immer noch einer Kategorie zugeordnet ist (also mehrere Kategorien) .

Wie kann ich das beheben? Ich denke, dass ich den Code in meiner Funktionsdatei gefunden habe, aber ich bin nicht sicher.

Ich habe versucht, den Operator von 'NICHT IN' zu 'IN' zu ändern, aber dies endet mit der Anzeige aller Cetegories. Jede Hilfe würde sehr geschätzt werden!

if (isset($cat) && $cat!=-1) { 
     //include a category 
     $query_args['tax_query'] = array(
      array(
       'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
       'field' => 'slug', 
       'terms' => $cat 
      ) 
     ); 
    } 
    if (!empty($excludeCats)) { 
     if (!isset($query_args['tax_query'])) { 
      $query_args['tax_query'] = array(); 
     } 
     //exclude categories 
     $query_args['tax_query'][]= array(
      'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
      'field' => 'id', 
      'terms' => $excludeCats, 
      'operator' => 'NOT IN' 
     ); 
    } 

Antwort

0

Ich nehme an, dass das Problem auf dem Portfolio-Archiv auftritt. Wenn dies der Fall ist, würde ich als Workaround empfehlen, alle sichtbaren Kategorien zu erhalten und sie zur Steuerabfrage hinzuzufügen.

if(! empty($excludeCats)) { 
    $visibleCats = array_diff($allCats, $excludeCats); 
} 
if (!empty($excludeCats)) { 
    if (!isset($query_args['tax_query'])) { 
     $query_args['tax_query'] = array(); 
    } 
    //exclude categories 
    $query_args['tax_query'][]= array(
     'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
     'field' => 'id', 
     'terms' => $visibleCats, 
     'operator' => 'IN' 
    ); 
} 
+0

Hey da, Danke allot für den Blick darauf. Leider schien dies das Problem für mich nicht zu lösen. Ich denke, das Problem liegt in der Abfrage $ allCats, da diese Abfrage nirgendwo anders in meiner Funktionsdatei erscheint. Du hättest keine weiteren Vorschläge? Vielen Dank! – Sam

Verwandte Themen