この違いはなんでしょうか・・・
-
function plugin_activate() {
setup_table(‘send_data’);
}add_action(‘admin_menu’, ‘plugin_activate’);
function table_name_with_prefix($table_name) {
global $wpdb;
return $wpdb->prefix . $table_name;
}function sql_create_send_data() {
return “CREATE TABLE ” . table_name_with_prefix(‘send_data’) . “(
send_id INT NOT NULL AUTO_INCREMENT,
send_begin DATE NOT NULL,
send_end DATE NOT NULL,
send_title VARCHAR(255) NOT NULL,
send_desc TEXT NOT NULL,
send_added TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (send_id)
);”;
}function setup_table($table_name) {
global $wpdb;
if ($wpdb->get_var(“show tables like'” . table_name_with_prefix($table_name) . “‘”) != table_name_with_prefix($table_name)) {
require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);
$sql_create_func = “sql_create_$table_name”;
$sql = $sql_create_func();
dbDelta($sql);
}
}
こちらのソースコードと
function plugin_activate() {
setup_table(‘send_data’);
}
add_action(‘admin_menu’, ‘plugin_activate’);function setup_table($table_name) {
global $wpdb;
if ($wpdb->get_var(“show tables like'” . table_name_with_prefix($table_name) . “‘”) != table_name_with_prefix($table_name)) {
require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);
$sql_create_func = “sql_create_$table_name”;
$sql = $sql_create_func();
dbDelta($sql);
}
}
function table_name_with_prefix($table_name) {
global $wpdb;
return $wpdb->prefix . $table_name;
}
function sql_create_send_data() {
return “CREATE TABLE ” . table_name_with_prefix(‘send_data’) . “(
send_id INT NOT NULL AUTO_INCREMENT,
send_begin DATE NOT NULL,
send_end DATE NOT NULL,
send_title VARCHAR(255) NOT NULL,
send_desc TEXT NOT NULL,
send_added TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (send_id)
);”;
}
の2つですがプラグインを有効化すると同じようにテーブルが作成されますが違いは何でしょうか?dbDelta関数が一体どういった操作をしているかもいまいち把握できていなのでこの点をしっかり抑えたいと思い質問させていただきます。どなたか良いお答えをよろしくお願い致します。
- トピック「この違いはなんでしょうか・・・」には新たに返信することはできません。