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.

QWERTY
quelle

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 .

Vinod Dalvi
quelle
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