function nazwa_funkcji_instalujacej() { global $wpdb; $table_name = $wpdb->prefix . 'pierwsza_tabela'; $table_name2 = $wpdb->prefix . 'druga_tabela'; $sql = "CREATE TABLE IF NO EXISTS `" . str_replace('`','', $table_name) . "` ( id int(11) NOT NULL AUTO_INCREMENT, name tinytext NOT NULL, age int(11) NULL, PRIMARY KEY (id) );"; $sql .= "CREATE TABLE IF NO EXISTS`" . str_replace('`','', $table_name2) . "` ( id int(11) NOT NULL AUTO_INCREMENT, email VARCHAR(20) NOT NULL, PRIMARY KEY (id) );"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); } register_activation_hook(__FILE__, 'nazwa_funkcji_instalujacej');
5 i 6 – Tworzę sobie zmienne zawierające nazwę nowo dodawanych tabel $wpdb->prefix
wyciąga mi aktualny prefix z jakim jest zainstalowany WordPress
8 i 15 – Zmienna z zapytaniem do bazy. Po drugim wystąpieniu zmiennej $sql
musi być .=
bo inaczej pierwsze zapytanie zostanie zastąpione przez drugie. str_replace('`','', $table_name)
usuwa zbędny i podejrzany znaczek…
22 – wykonanie zapytania. Z resztą… Skoro piszecie wtyczkę to zapewne wiecie o co tu biega…
Szczegóły w CODEX -> https://codex.wordpress.org/Creating_Tables_with_Plugins