tax_query in get_posts () funktioniert nicht?


7

Ich versuche, alle Beiträge in jeder Taxonomie für einen benutzerdefinierten Beitragstyp namens product(Jigoshop-Produkte) auszudrucken. Also bekomme ich alle Taxonomien mit $cats = get_terms('product_cat');, dann durchlaufe ich sie alle und bekomme alle Beiträge, die innerhalb der Taxonomie liegen. Das Problem ist, es funktioniert nicht. Es wird nur leer zurückgegeben!

$uposts = get_posts(array(
    'post_type' => 'product',
    'numberposts' => -1,
    'tax_query' => array(
        'taxonomy' => $cat->taxonomy,
        'field' => 'slug',
        'terms' => array($cat->slug),
        'operator' => 'IN'
    )
));

Wenn ich das ändern , 'terms' => array($cat->slug)um 'terms' => $cat->sluges zurückgibt alle Beiträge, als ob es die tax_query vollständig ignoriert.

Irgendwelche Ideen, warum dies fehlschlägt? Ich habe versucht operator, damit herumzuspielen, fieldzu ID zu wechseln (und auch $cat->IDals Begriff zu senden ) ... nichts funktioniert!

$ cat hat folgende Werte:

stdClass Object
(
    [term_id] => 114
    [name] => Ny testkategori
    [slug] => ny-testkategori
    [term_group] => 0
    [term_taxonomy_id] => 115
    [taxonomy] => product_cat
    [description] => 
    [parent] => 0
    [count] => 2
    [meta_id] => 3
    [jigoshop_term_id] => 114
    [meta_key] => order
    [meta_value] => 1
)

$ Cat-> slug und $ cat-> taxonomy sind also gültige Werte.

Antworten:


16

tax_query verwendet ein Array von Steuerabfrageargumenten (es wird ein Array von Arrays verwendet), aber Sie verwenden nur ein einzelnes Array. Der richtige Code lautet wie folgt.

$uposts = get_posts(
    array(
        'post_type' => 'product',
        'numberposts' => -1,
        'tax_query' => array(
            array(
                'taxonomy' => $cat->taxonomy,
                'field' => 'slug',
                'terms' => array($cat->slug),
                'operator' => 'IN',
            )
         )
    )
);

Weitere Informationen finden Sie auf dieser Seite .


2
Ja natürlich! Dumm von mir, ich habe über eine Stunde damit verbracht, das zu beheben. Vielen Dank!
QWERTY

Zum Glück habe ich drei Tage damit verbracht :( Gibt es so etwas wie Feedback, wie viele Beiträge abgerufen wurden oder WARUM es nicht gefunden wurde? Viele Tuts und Beispiele, auch hier geht es um ältere Versionen oder hat bei mir nicht funktioniert sowieso.
Piotao

Die Dokumentations-URL hat sich geändert. Die Dokumente für die WP_Query-Taxonomieparameter sind jetzt hier: developer.wordpress.org/reference/classes/wp_query/…
Tomas Eklund
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.