Я сделал этот запрос, чтобы выбрать посты из блога WordPress с фильтрацией по категориям, тегам и пользовательским полям.
SELECT wp_posts.*
FROM wp_posts
WHERE wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish'
AND ( SELECT COUNT(*)
FROM wp_term_relationships
LEFT JOIN wp_term_taxonomy ON ( wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id )
LEFT JOIN wp_terms ON ( wp_term_taxonomy.term_id = wp_terms.term_id )
WHERE wp_posts.ID = wp_term_relationships.object_id
AND ( wp_terms.name = 'collaborazioni' && wp_term_taxonomy.taxonomy = 'category' )
||
( wp_terms.name = 'jammin' && wp_term_taxonomy.taxonomy = 'post_tag' )
) >= 1
AND ( SELECT COUNT(*) FROM wp_postmeta
WHERE wp_postmeta.post_id = wp_posts.ID
AND wp_postmeta.meta_key = 'Product-code'
AND wp_postmeta.meta_value = 'xxxxxx'
) >= 1
но я думаю, что это немного тяжело ... у вас было какое-то лучшее решение?
спасибо, Пьетро.