@denism300

Как передать массив в запрос к БД Wordpress?

Есть код:
$term_id = array(1, 2, 3, 4, 5, 6);
$sql = "
        SELECT meta_value
        FROM " . $wpdb->posts . "
        INNER JOIN " . $wpdb->term_relationships . " ON (" . $wpdb->posts . ".ID = " . $wpdb->term_relationships . ".object_id)
        INNER JOIN " . $wpdb->postmeta . " ON (" . $wpdb->posts . ".ID = " . $wpdb->postmeta . ".post_id)
        WHERE
        (" . $wpdb->term_relationships . ".term_taxonomy_id IN (%d))
        AND " . $wpdb->posts . ".post_type = 'product'
        AND " . $wpdb->posts . ".post_status = 'publish'
        AND " . $wpdb->postmeta . ".meta_key = '_price'
    ";

$result = $wpdb->get_results($wpdb->prepare($sql, $term_id));

данный запрос не формируется, я так понимаю из-за того, что $term_id - массив, а не число.
Как правильно передать его в функцию prepare()?
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
Массив сделай строкой implode(",", $term_id);
и потом в IN передавай. Но там у тебя число, а надо %s - строка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы