$wpdb получить запись по 2-ум мета-ключам и значениям

Всем привет, не могу разобраться как сделать запрос $wpdb по двум мета-ключам:

$querystr = "
    SELECT * FROM wp_postmeta
    WHERE meta_key = '_candidate_email' AND meta_value = '[email protected]' 
    AND meta_key = 'hr' AND meta_value = '1' 
";
$my_res = $wpdb->get_results($querystr);

Получаю пустой результат.

Хотя по отдельности:

$querystr = "
    SELECT * FROM wp_postmeta
    WHERE meta_key = '_candidate_email' AND meta_value = '[email protected]' 
";

Запись получаю нормально.

Буду рад любым предложениям.


Ответы (1 шт):

Автор решения: Valerii Vasiliev

Нужно оформить условия через OR. И нужно использовать префикс переменную.

$querystr = "SELECT 
                 COUNT(post_id) AS cnt, post_id
             FROM 
                  ".$wpdb->prefix."postmeta
             WHERE 
                (meta_key = '_candidate_email' AND meta_value = '[email protected]')
                OR
                (meta_key = 'hr' AND meta_value = '1') 
             GROUP BY 
                post_id
             HAVING 
                cnt = 2";
                
$my_res = $wpdb->get_results($querystr);

→ Ссылка