J'ai besoin d'une liste de publications d'un type de message spécifique, ainsi que du nom d'un terme de taxonomie personnalisé.
C'est ce que j'ai eu jusqu'à présent
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
Quel est le problème? Je reçois trop de résultats, j’obtiens les bons messages, mais plusieurs fois avec chaque client. Je suppose que c'est parce que j'utilise $ wpdb-> termes comme t ET comme t2? Mais quand j’essaie de l’utiliser aussi souvent, j’obtiens l’erreur
Not unique table/alias: 't'
Qui peut aider?
Désolé les gars, je viens de trouver la solution:
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
Je n'ai simplement pas à définir d'alias pour $wpdb->terms
dans la clause FROM
.