プラグイン作成時にデータベースを作成する処理。
// WordPressパスの定義があるか
if ( ! defined( 'ABSPATH' ) ) exit;
// 有効時に作成
register_activation_hook(__FILE__, 'pluginname_install');
// アンインストール時に削除
register_uninstall_hook(__FILE__, 'pluginname_uninstall');
/**
* テーブル作成
*/
function pluginname_install(){
global $wpdb;
$table = $wpdb->prefix.'pluginname';
$charset_collate = $wpdb->get_charset_collate();
if ($wpdb->get_var("show tables like '$table'") != $table) {
$sql = "CREATE TABLE {$table} (
id VARCHAR(32),
date DATETIME,
name VARCHAR(32)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
/**
* テーブル削除
*/
function ex_plugin_name_uninstall()
{
global $wpdb;
$table_name = $wpdb->prefix . 'pluginname';
$sql = "DROP TABLE IF EXISTS {$table_name}";
$wpdb->query($sql);
}
