Удаление плагина: зачем запускать dbDelta после $wpdb->запроса ($dropsql)


Я читаю профессиональный wordpress. их код для удаления плагина

//build our query to delete our custom table
$sql = "DROP TABLE " . $table_name . ";";

//execute the query deleting the table
$wpdb->query($sql);
require_once(ABSPATH .’wp-admin/includes/upgrade.php’);
dbDelta($sql);

Мой вопрос в том, зачем запускать dbDelta после $wpdb->query($sql);

Author: Jiew Meng, 2010-09-11

1 answers

Это действительно странно. Я думаю, что они сначала попробовали это с помощью dbDelta, обнаружили, что это не работает с запросами DROP, и вместо этого использовали прямой запрос $wpdb. Затем они просто забыли вынуть вещи dbDelta. Похоже, что dbDelta собирает запросы на создание в $cqueries и вставляет запросы в $iqueries, но молча игнорирует остальные . Какая прекрасная функция...

Чтобы быть уверенным, вы могли бы задать этот вопрос на книжном форуме, надеюсь, авторы там околачиваются. Не забудьте упомянуть, что вы впервые спросили об этом здесь, чтобы мы получили некоторую рекламу!

 3
Author: Jan Fabry, 2010-09-11 14:37:36