Limpando consultas com cláusulas “IN” com $ wpdb no WordPress

$ wpdb inclui o método “preparar” que limpará a consulta com base no tipo de dados usados ​​para as cláusulas de pesquisa.

Mesmo que não haja uma maneira direta de limpar as cláusulas “IN”, você pode usar uma solução alternativa útil. Por exemplo:

// get a set of "special" entries
// $special_entries = array(1, 3, 5, 8, 13, [...]);
$special_entries
= get_option('my_special_entries');

// how many entries will we select?
$how_many
= count($special_entries);

// prepare the right amount of placeholders
// if you're looing for strings, use '%s' instead
$placeholders
= array_fill(0, $how_many, '%d');

// glue together all the placeholders...
// $format = '%d, %d, %d, %d, %d, [...]'
$format
= implode(', ', $placeholders);

// and put them in the query
$query
= "SELECT ID, post_title, post_name, post_parent FROM $wpdb->posts WHERE post_parent IN($format)";

// now you can get the results
$results
= $wpdb->get_results( $wpdb->prepare($query, $special_entries) );