- 14, May 2024
- #1
Привет,
Я работаю над довольно сложным поиском на собственном сайте WordPress.
У нас есть индивидуальный поиск с различными фильтрами.
Если мы ищем что-то вроде «честер», мы получаем все результаты для Честера, но они также включают Манчестер и Чичестер.
Мы хотим упорядочить их так, чтобы сначала отображались полные совпадения, а затем частичные. Наш текущий SQL
Если мы ищем что-то вроде «честер», мы получаем все результаты для Честера, но они также включают Манчестер и Чичестер.
Мы хотим упорядочить их так, чтобы сначала отображались полные совпадения, а затем частичные. Наш текущий SQL
SELECT DISTINCT wp_posts.ID , wp_posts.post_title , wp_posts.post_name , wp_posts.post_content , meta1.meta_value as keywords
FROM wp_posts
INNER JOIN wp_postmeta as meta1 ON meta1.post_id = wp_posts.ID AND meta1.meta_key = 'location_keywords'
INNER JOIN wp_postmeta as meta5 ON meta5.post_id = wp_posts.ID AND meta5.meta_key = 'parent_id'
INNER JOIN wp_posts as wp2 ON wp2.ID=meta5.meta_value AND wp2.post_type='ciet_company' AND wp2.post_status='publish'
WHERE wp_posts.post_status='publish' AND
meta1.meta_value LIKE '%chester%'
GROUP BY wp_posts.ID
ORDER BY wp_posts.post_title
ASC LIMIT 20
Код (разметка): Любая помощь, подсказки и предложения будут приняты с благодарностью.