Je me demande si c'est possible?
$wpdb->delete(
'table_name',
array('id' => array(1, 2, 3)),
array('%d')
);
Dans cette situation, il convient donc de supprimer 3 lignes à la fois et d’appeler la base de données une seule fois. J'ai beaucoup de suppressions possibles avec mon script et je préférerais qu'il ne les efface qu'une seule fois, au lieu d'avoir à parcourir tous les identifiants et à faire un $wpdb->delete
individuellement sur chacun d'eux. Est-ce possible? On dirait que ça devrait être ...
Non, wpdb::delete
fait pas gère rien d'autre que WHERE field = X
. Vous pouvez simplement utiliser la méthode query
à la place:
$ids = implode( ',', array_map( 'absint', $ids ) );
$wpdb->query( "DELETE FROM table_name WHERE ID IN($ids)" );