Мне нужно отредактировать чей-то код, и я не знаком с запросами сообщений, используя метод, которым они являются. Я попытался изменить запрос на различные альтернативы, но мне не повезло. Я хочу изменить следующий запрос, чтобы выбрать данные из пользовательской таксономии, называемой «job_cat», где значение равно значению POST. Код ниже:Пользовательский запрос WordPress для таксономии
$querystr = "
SELECT DISTINCT wposts.*
FROM $wpdb->posts wposts
LEFT JOIN $wpdb->postmeta wpostmeta ON wposts.ID = wpostmeta.post_id
LEFT JOIN $wpdb->postmeta wpostmeta2 ON wposts.ID = wpostmeta2.post_id
LEFT JOIN $wpdb->term_relationships ON (wposts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE wp_term_taxonomy.term_id = 94";
// If a job type is set and not equal to nothing or any jobs
if(isset($_POST['search-location']) && $_POST['search-location'] !== "" && $_POST['search-location'] !== "All") {
$querystr .= " AND (wpostmeta2.meta_key = 'region' AND wpostmeta2.meta_value = '".$_POST['search-location']."')";
}
$querystr .= " ORDER BY post_date DESC LIMIT 50";
//Execute
//echo $querystr;
$pageposts = $wpdb->get_results($wpdb->prepare($querystr, OBJECT));
Любая помощь была бы замечательной !!
** ВНИМАНИЕ: ** * Ваш код уязвим для атаки SQL-инъекций! * Прочтите историю [Bobby Tables] (http://bobby-tables.com) для получения дополнительной информации. – eggyal
Предположим, вы используете пользовательский запрос, а не класс WP_Query. Можете ли вы подтвердить, что 'wpostmeta' - это имя вашей таблицы? – pgk
Где находится остальная часть строки запроса? Вы не делили эту часть до 'AND'. – rnevius