I can’t create several user tables in db when my wordpress plugin is activated, it creates only the last table, as indicated in this code, instead of Bookmarks, instead of creating all the tables (user, field, visibility, notification), etc.
function your_plugin_options_install() {
global $wpdb;
$uservar = $wpdb->prefix . 'user';
$fieldvar = $wpdb->prefix . 'field';
$visibilitytypevar = $wpdb->prefix . 'visibily';
$notificationvar = $wpdb->prefix . 'notification';
$jobtypevar = $wpdb->prefix . 'jobtype';
$bookmarkvar = $wpdb->prefix . 'bookmark';
$sql = "CREATE TABLE IF NOT EXISTS " . $uservar . " (
`u_id` int(20) NOT NULL AUTO_INCREMENT,
`u_name` varchar(30) ,
`u_phonenumber` int(20) ,
`u_email` varchar(30) NOT NULL,
`u_password` varchar(50) NOT NULL,
PRIMARY KEY (u_id)
);";
$sql = "CREATE TABLE IF NOT EXISTS " . $fieldvar . " (
`f_id` int(20) NOT NULL AUTO_INCREMENT ,
`f_title` varchar(30) NOT NULL,
PRIMARY KEY (f_id)
);";
$sql = "CREATE TABLE IF NOT EXISTS " . $visibilitytypevar . " (
`v_id` int(20) NOT NULL AUTO_INCREMENT ,
`v_type` bool NOT NULL,
PRIMARY KEY (v_id)
);";
$sql = "CREATE TABLE IF NOT EXISTS " . $notificationvar . " (
`n_id` int(20) NOT NULL AUTO_INCREMENT ,
`u_id` int(20) NOT NULL,
PRIMARY KEY (n_id)
);";
$sql = "CREATE TABLE IF NOT EXISTS " . $jobtypevar . " (
`jt_id` int(20) NOT NULL AUTO_INCREMENT ,
`jt_title` varchar(30),
PRIMARY KEY (jt_id)
);";
$sql = "CREATE TABLE IF NOT EXISTS " . $bookmarkvar . " (
`bm_id` int(20) NOT NULL AUTO_INCREMENT ,
`u_id` int(20) NOT NULL,
`bm_title` varchar(30),
PRIMARY KEY (bm_id)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__,'your_plugin_options_install');
source
share