Создание таблиц в БД в режиме мультисайта
-
Как создать свои таблицы в БД для ВСЕХ сайтов сети, в том числе и созданных после активации плагина?
Использую код ниже создаётся только одна «глобальная» таблица, а нужны таблицы для каждого сайта сети вида prefix_ID_ibc_stock, в том числе и для сайтов, которые будут созданы позже? или это нужно делать только вручную, т.е. при активации плагина запускать цикл с ID сайтов и для каждого сайта проверять отдельно наличие таблицы?/** ... Network: TRUE */ namespace ibc; function activate() { if ( is_multisite() ) { global $wpdb; $table_name = $wpdb->get_blog_prefix() . 'ibc_stock'; if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'") != $table_name ) { require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, book_id mediumint(9) NOT NULL, registration_number varchar(55) DEFAULT '' NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; dbDelta( $sql ); } } } register_activation_hook( __FILE__, 'ibc\activate' );
- Тема «Создание таблиц в БД в режиме мультисайта» закрыта для новых ответов.