[WordPress] ワードプレスのテーマの変更、作成したカスタム テーブルをきれいにする方法ですか?

スポンサーリンク

質問

管理者パネルではテーマに A、B を切り替えながらワードプレスでは、カスタム テーブルを作成います

add_action('after_switch_theme', 'manage_student_reports');

function manage_student_reports() {
    $sql = "CREATE TABLE IF NOT EXISTS `wp_student_reports` (
     `report_id` int(20) NOT NULL AUTO_INCREMENT,
     `student_name` varchar(50) NOT NULL,
     `department` varchar(50) DEFAULT NULL,
     `percentage` tinyint(4) DEFAULT '0',
     PRIMARY KEY (`report_id`)
    );";

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
}

が切り替えると戻るテーマに B (または他の何か) から、ワードプレスのデータベースのテーブルがまだ存在します。それをドロップする方法はありますか?

答え

  1. dbDelta()

    関数フィールドまたはテーブルは削除されません、のみを追加および更新します

  2. after_switch_theme

    フックは現在のテーマがアクティブ化されるときに実行されます。ときにあなたの主題が非アクティブ化、

    switch_theme

    フックを使用します

  3. switch_theme

    フックをテーブル (安全である可能性のあるエラーを回避する) が存在する場合はカスタム

    DROP TABLE

    sql を実行し、チェックをトリガーする関数を呼び出します

http://stackoverflow.com/questions/29168023/how-to-clean-custom-table-created-with-the-switch-theme-of-wordpress

スポンサーリンク

Leave a Reply