Intereting Posts
Двадцать пятнадцать темы – изменение режима реагирования Каково надлежащее использование https в современной среде электронной коммерции? meta_query для идентификатора пользователя в массиве Добавление виджета: что добавить URL-адрес плагина Рекомендуемый плагин для электронной коммерции для бизнеса по продаже футболок? Пользовательский Thickbox Broken на странице Dashboard? Каков правильный путь для многодоменного и многоязычного веб-сайта? Я хочу добавить класс к основному div в шаблоне. Как мне это сделать? передача переменной javascript в php wordpress Как добавить Javascript в заголовок всех почтовых страниц и только почтовые страницы Как включить личные страницы в список страниц? Какая разница между current_page_item и текущим меню? Как передать WordPress get_bloginfo ('siteurl') в JQuery? Как установить отдельную тему на определенной странице is_plugin_active () возвращает false в активный плагин

Как правильно передать значения в wpdb-> prepare ()?

Смотри сюда:

// $term_slugs is a function argument: array('foto', 'video') $term_query = "t.slug IN ('" . implode("','",$term_slugs) . "') "; $ids = $wpdb->get_results($wpdb->prepare(" SELECT m.meta_value FROM " . $wpdb->prefix . "posts p INNER JOIN " . $wpdb->prefix . "postmeta m ON m.post_id = p.ID INNER JOIN " . $wpdb->prefix . "term_relationships rel ON p.ID = rel.object_id INNER JOIN " . $wpdb->prefix . "term_taxonomy tt ON tt.term_taxonomy_id = rel.term_taxonomy_id INNER JOIN " . $wpdb->prefix . "terms t ON tt.term_id = t.term_id WHERE p.post_type = '%s' AND m.meta_key = '_thumbnail_id' AND p.post_status = 'publish' AND %s ORDER BY RAND() LIMIT 1 ", $post_type, $term_query )); 

Это будет писать что-то вроде:

 WHERE p.post_type = 'gallery' AND m.meta_key = '_thumbnail_id' AND p.post_status = 'publish' AND 't.slug IN (\'foto\',\'video\') ' 

Шуолд:

 WHERE p.post_type = 'gallery' AND m.meta_key = '_thumbnail_id' AND p.post_status = 'publish' AND t.slug IN ('foto','video') 

Как?

Я нашел ответ сам.

(образец кода)

 $args_array = array($post_type); $term_slugs = array('foto', 'video'); // create a string like '%s, %s' ecc $placeholders = implode(', ', array_fill(0, count($term_slugs), "%s")); $term_query = "t.slug IN ($placeholders) "; $args_array = array_merge($args_array, $term_slugs); $ids = $wpdb->get_results($wpdb->prepare(" SELECT m.meta_value FROM " . $wpdb->prefix . "posts p INNER JOIN " . $wpdb->prefix . "postmeta m ON m.post_id = p.ID INNER JOIN " . $wpdb->prefix . "term_relationships rel ON p.ID = rel.object_id INNER JOIN " . $wpdb->prefix . "term_taxonomy tt ON tt.term_taxonomy_id = rel.term_taxonomy_id INNER JOIN " . $wpdb->prefix . "terms t ON tt.term_id = t.term_id WHERE p.post_type = '%s' AND m.meta_key = '_thumbnail_id' AND p.post_status = 'publish' AND $term_query ORDER BY RAND() LIMIT 1 ", $args_array // pass substitutions as an array ));