Собственно в WordPress данные хранятся в доп. полях, например
meta_key='type'
,
meta_value='buy'
,
meta_key='price'
,
meta_value='10000'
и т.д. задача сделать выборку. этих метаполей много, средствами WP можно прицепиться к
search_meta_join
типа:
$join .= " JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id ";
и таким же образом к
search_meta_where
, и вот тут я не знаю как правильно сделать, получается такой запрос
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE 1=1 AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') AND ( wp_postmeta.meta_value IN ('rent','flat')) GROUP BY wp_posts.ID HAVING COUNT(*) = 2
то есть мне нужны записи которые и rent и flat, я правильно делаю(там кроме rent и flat еще есть, но я сократил)? Но мне так же нужно искать цену между двумя значениями, площадь между двумя значениями и т.д., как правильно такой запрос составить?