Travailler sur un outil en dehors de Wordpress pour interroger la base de données wordpress par POST_ID et renvoyer le nom de catégorie associé. Ceci est destiné à un site Web immobilier et les catégories sont appelées "mi_neighborhoods" et sont désignées par wp_term_taxonomy.taxonomy.
Dans l'une de mes autres requêtes pour obtenir tous les noms de catégorie que j'utilise:
SELECT *
FROM wp_term_relationships
LEFT JOIN wp_term_taxonomy
ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms on wp_term_taxonomy.term_taxonomy_id = wp_terms.term_id
WHERE wp_term_taxonomy.taxonomy = 'mi_neighborhoods'
GROUP BY wp_term_taxonomy.term_id
Donc, j'ai le POST_ID, je dois renvoyer la valeur du "mi_neighborhoods" pour ce poste.
Quelqu'un peut-il aider?
Vous pouvez essayer cette requête SQL pour la taxonomie 'mi_neighborhoods
' et prenons POST_ID = 1304
SELECT t.*, tt.* FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON (tt.term_id = t.term_id)
INNER JOIN wp_term_relationships AS tr ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
WHERE tt.taxonomy IN ('mi_neighborhoods') AND tr.object_id IN (1304)
ORDER BY t.name ASC;
En général, vous pouvez l'obtenir à partir de cette fonction:
wp_get_object_terms(1304, 'mi_neighborhoods');
MODIFIER:
Voici une requête qui vous donne id/name/slug
de tous les termes appartenant à la taxonomie 'mi_neighborhoods
':
SELECT t.term_id, t.name, t.slug
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON (t.term_id = tt.term_id)
WHERE tt.taxonomy IN ('mi_neighborhoods')
ORDER BY t.name ASC
et voici la même chose pour tous les termes non vides:
SELECT t.term_id, t.name, t.slug
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON (t.term_id = tt.term_id)
WHERE tt.taxonomy IN ('mi_neighborhoods') AND tt.count > 0
ORDER BY t.name ASC