wake-up-neo.com

wpdb bekomme Beiträge von Taxonomy SQL

Ich benötige eine Liste von Posts eines bestimmten post_type sowie den Namen eines benutzerdefinierten Taxonomiebegriffs.

Das ist, was ich bisher bekommen habe

SELECT p.post_name,t.name as clientName 
FROM $wpdb->posts AS p, $wpdb->terms AS t
LEFT JOIN $wpdb->term_relationships AS tr ON ('p.ID' = tr.object_id)
LEFT JOIN $wpdb->term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
LEFT JOIN $wpdb->terms AS t2 ON (t2.term_id = tt.term_id)
WHERE   p.post_status = 'publish' 
    AND p.post_type = 'portfolio'
    AND tt.taxonomy = 'clients' 
ORDER BY p.post_date DESC

Was ist das Problem? Ich bekomme zu viele Ergebnisse, ich bekomme die richtigen Beiträge, aber mehrmals mit jedem Kunden. Ich vermute, das liegt daran, dass ich $ wpdb-> Terme als t UND als t2 verwende. Aber wenn ich versuche, es als t beide Male zu verwenden, erhalte ich den Fehler

Not unique table/alias: 't'

Wer kann helfen?

3
Web-Entwickler

Sorry Leute, ich habe gerade die Lösung gefunden:

SELECT p.post_name, t.name as clientName 
FROM $wpdb->posts AS p
INNER JOIN $wpdb->term_relationships AS tr ON ('p.ID' = tr.object_id)
INNER JOIN $wpdb->term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
INNER JOIN $wpdb->terms AS t ON (t.term_id = tt.term_id)
WHERE   p.post_status = 'publish' 
    AND p.post_type = 'portfolio'
    AND tt.taxonomy = 'clients' 
ORDER BY p.post_date DESC

Ich muss nur keinen Alias ​​für $wpdb->terms in der FROM-Klausel definieren.

4
Web-Entwickler