Я пытаюсь написать собственный запрос выбора сообщения для wordpress. Я использую woocommerce. В woocommerce имя типа сообщения по умолчанию - «product», а имя таксономии в «product_cat». Я добавил еще одно название таксономии «spec» для спецификации продукта.
Итак, в моей категории продуктов предположим, что «samsung», «ноутбук» - это термин, обозначающий категорию продукта. и в "spec" у меня есть некоторые спецификации, такие как "процессор core i5", "8gb ddr3 ram" и т. д., и мой заголовок поста - "super notebook"
Я хочу найти его по любому из этого поля, например, если ввести ноутбук в поле поиска, он покажет все записные книжки. Под текстовой областью типа ввода поиска у меня также есть поле выбора, в котором есть все «product_cat», такие как samsung, hp, apple, laptop и т. Д.
Название продукта / Заголовок сообщения
- Супер ноутбук
product_cat
- Samsung
- ноутбук
спецификация
- процессор core i5
Оперативная память ddr3 8 гб
глобальный $ wpdb;
$query = "SELECT DISTINCT wp_posts.* FROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms WHERE (wp_terms.name LIKE '%ddr3 ram%' OR wp_posts.post_title LIKE '%ddr3 ram%') AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'product' AND wp_posts.ID = wp_term_relationships.object_id AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND wp_term_taxonomy.term_id = wp_terms.term_id GROUP BY wp_posts.ID ORDER BY wp_posts.post_title ASC"; $object = $wpdb->get_results($query); _log($object);
Я пробую этот код показать результат.
Но если я попробую, результат не покажется.
global $wpdb;
$query = "SELECT DISTINCT wp_posts.*
FROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms
WHERE (wp_terms.name LIKE '%ddr3 ram%'
AND wp_terms.name LIKE '%samsung%'
OR wp_posts.post_title LIKE '%ddr3 ram%')
AND wp_posts.post_status = 'publish'
AND wp_posts.post_type = 'product'
AND wp_posts.ID = wp_term_relationships.object_id
AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.term_id = wp_terms.term_id GROUP BY wp_posts.ID ORDER BY wp_posts.post_title ASC";
$object = $wpdb->get_results($query);
_log($object);
Я понятия не имею, как это исправить. Итак, кто-нибудь хочет мне помочь, пожалуйста, дайте мне этот ответ. Спасибо.