SQL - Estrai prodotti di una categoria specifica da un database WordPress WooCommerce remoto
Mi sono connesso al database e ho estratto con successo i dati dei prodotti. Ora voglio visualizzare i prodotti di una categoria specifica. Il negozio utilizza WooCommerce. La landing page si trova in una posizione diversa quindi non posso importare le funzioni di WordPress.
Ecco cosa ho ottenuto finora:
SELECT ID, `post_date`, `post_title`, `post_content`, `guid` FROM `wp_posts` as post
INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID
INNER JOIN wp_terms t ON t.term_id = rs.term_taxonomy_id
WHERE `post_type` = "product"
AND `post_status` = "publish"
AND rs.term_taxonomy_id = 117
ORDER BY post_date DESC LIMIT 5
Non succede nulla. Se rimuovo AND rs.term_taxonomy_id = 117
funziona come prima. Appaiono i 5 prodotti più vecchi, non i prodotti della categoria specifica. Cosa mi manca?

Ho verificato la tua query e funziona correttamente senza errori o risultati vuoti. Tuttavia, se rimuovi l'INNER JOIN
dalla tabella wp_terms
continua a funzionare perché non stai recuperando alcun dato da quella tabella e non viene utilizzata neanche nella clausola WHERE
.
SELECT ID, `post_date` , `post_title` , `post_content` , `guid` FROM `wp_posts` as post
INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID
WHERE `post_type` = "post" //tipo di post impostato a post per il mio esempio
AND `post_status` = "publish"
AND rs.term_taxonomy_id = 1 //term_taxanomy_id è 1 per il mio esempio
ORDER BY post_date DESC LIMIT 5

Per gli articoli funziona bene. Ma per i prodotti no. I prodotti hanno la tassonomia product_cat. Quando eseguo questo ottengo "MySQL ha restituito un set di risultati vuoto (cioè zero righe)." Ma ho prodotti in quella categoria.

SELECT
`ID`,
`post_title`,
`guid`
FROM
posts
WHERE
post_type='product' AND
post_status='publish' AND
ID IN(
SELECT
object_id
FROM
term_relationships
WHERE
term_taxonomy_id IN(IL_TUO_ID_CATEGORIA_O_ID_MULTIPLI_SEPARATI_DA_VIRGOLA ) AND
term_taxonomy_id IN(
SELECT
term_taxonomy_id
FROM
term_taxonomy
WHERE
taxonomy='product_cat' )
)
