Wordpress/MySQL personnalisées Les requêtesWordpress: requête mysql pour renvoyer des messages à partir de mots clés spécifiques à categry?
J'ai une requête pour renvoyer tous les messages d'une catégorie spécifique:
SELECT ID, post_title, post_name, guid, post_date, post_content, guid FROM wp_posts as p
INNER JOIN wp_term_relationships AS tr ON
(p.ID = tr.object_id AND
tr.term_taxonomy_id IN (4))
INNER JOIN wp_term_taxonomy AS tt ON
(tr.term_taxonomy_id = tt.term_taxonomy_id AND
taxonomy = 'category')
ORDER BY id DESC LIMIT 10
Mais je dois aussi cette requête pour renvoyer les mots-clés associés à chaque poste. J'ai commencé à créer une requête "mots-clés par ID poste", mais je me suis rendu compte que ce serait un appel très coûteux lorsqu'il est répété.
Une idée sur la façon de demander les mots-clés/termes pour chaque article qui revient? Séparé par des virgules fonctionnerait, je suppose?
SOLUTION:
Aucune jolie manière de le faire dans MySQL - se joindre à toutes ces tables peuvent être méchant. Ainsi, la solution est de trois étapes:
1) obtenir les messages:
SELECT DISTINCT ID, post_title, post_name, guid, post_date, post_content, guid , GROUP_CONCAT(k.term_taxonomy_id) as keywords FROM wp_posts as p
INNER JOIN wp_term_relationships AS tr ON
(p.ID = tr.object_id AND
tr.term_taxonomy_id IN (4))
INNER JOIN wp_term_relationships as k ON
(p.ID = k.object_id)
INNER JOIN wp_term_taxonomy AS tt ON
(tr.term_taxonomy_id = tt.term_taxonomy_id AND
taxonomy = 'category')
GROUP BY p.ID
ORDER BY id DESC LIMIT 10
Le "group_concat" retournera "mots-clés" retour comme des séparés par des virgules ID
2) obtenir les mots-clés de wp_terms
3) utilisent PHP pour rechercher des mots-clés de ce tableau (# 2) au besoin
Pouvez-vous nous dire comment vous allez utiliser les données? Il y a des requêtes WordPress intégrées qui retourneront ces données sans avoir à faire des requêtes MySQL personnalisées si vous voulez simplement les afficher sur un site ... – Michelle
Je fais cet appel en dehors de Wordpress et je ne souhaite pas inclure le WP bibliothèques - d'où la nécessité d'un appel MySQL direct. – jmccartie