Как удалить сразу несколько строк через wpdb->delete() в wordpress?

Пользователь

от adrien.waters , в категории: PHP , 7 месяцев назад

Как удалить сразу несколько строк через wpdb->delete() в wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от stephania , 7 месяцев назад

@adrien.waters 

Для удаления нескольких строк через $wpdb->delete() в WordPress необходимо передать массив условий в качестве второго параметра метода.


Вот пример кода, который удаляет несколько строк из таблицы базы данных WordPress:

1
2
3
4
5
6
7
8
9
$table_name = $wpdb->prefix . 'my_table'; // замените my_table на имя вашей таблицы

$ids_to_delete = array(1, 2, 3); // замените этот массив на список ID строк, которые вы хотите удалить

$ids_placeholder = implode(',', array_fill(0, count($ids_to_delete), '%d')); // создаем заполнитель для каждого ID

$sql = "DELETE FROM $table_name WHERE id IN ($ids_placeholder)";

$wpdb->query($wpdb->prepare($sql, $ids_to_delete));


В этом примере мы создаем массив $ids_to_delete, содержащий список ID строк, которые нужно удалить. Затем мы используем функцию implode() для создания заполнителя %d для каждого ID и генерируем SQL-запрос, используя оператор IN для выбора строк, которые нужно удалить.


Наконец, мы используем метод $wpdb->prepare() для подготовки SQL-запроса и передаем его в $wpdb->query() для выполнения удаления строк.