Я пытаюсь написать пользовательский выбор пост-запроса для WordPress. Я использую WooCommerce. В woocommerce именем типа записи по умолчанию является «product» и название таксономии в «product_cat». Я добавил еще одно название таксономии «spec» для спецификации продукта.
Поэтому в моей товарной категории предположим, что «samsung», «ноутбук» — это название для товарной категории. и в «спецификации» у меня есть некоторые спецификации, такие как «процессор Core i5», «8 ГБ DDR3 RAM» и т. д., и мой пост заголовок «супер ноутбук»
Я хочу найти его по любому из этих полей, например, если в моем поле поиска ввести блокнот, он покажет все блокноты. Под текстовой областью типа ввода для поиска у меня также есть поле выбора, в котором есть все «product_cat», такие как Samsung, HP, Apple, ноутбук и т. Д.
Название продукта / Заголовок сообщения
product_cat
спекуляция
8 ГБ оперативной памяти DDR3
глобальный $ 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);
Я понятия не имею, чтобы это исправить. Так что кто-нибудь хочет помочь мне, пожалуйста, дайте мне этот ответ.
Благодарю.
Привет Фейсал Бхай, ты должен попробовать это
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%'
OR 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);
Я надеюсь, что вы найдете свое решение
Других решений пока нет …