2016-10-21 18 views
0

私は既存のwordpress database.andにテーブルを作成したい、それを作成することができません。私はこのコードをカスタムプラグインファイルの中に記述しています。このコードを通して私を助けてください。時に発動プラグインテーブルを生成するためのコードの上どのようにWordPressデータベース内のプラグインの中にテーブルを作成する

<?php 
/** 
* @package Demo 
*/ 
/* 
Plugin Name: Demo 
Plugin URI: https://demo.com/ 
Description: This is used for the plugin database. 
Version: 3.2 
Author: Automattic 
Author URI: https://automattic.com/wordpress-plugins/ 
License: GPLv2 or later 
Text Domain: demo 
*/ 
// run the install scripts upon plugin activation 
register_activation_hook(__FILE__,'your_plugin_options_install'); 

// function to create the DB/Options/Defaults     
function your_plugin_options_install() { 
global $wpdb; 
global $db_version; 

$your_db_name = $wpdb->prefix . 'db_record'; 
// create the ECPT metabox database table 

    $sql = "CREATE TABLE " . $your_db_name . " (
    `id` mediumint(9) NOT NULL AUTO_INCREMENT, 
    `field_1` mediumtext NOT NULL, 
    `field_2` tinytext NOT NULL, 
    `field_3` tinytext NOT NULL, 
    `field_4` tinytext NOT NULL, 
    UNIQUE KEY id (id) 
    );"; 

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
    dbDelta($sql); 
    add_option("db_version", $db_version); 

    } 

    ?> 

答えて

0
 function wpa_install() { 

    /*Create Table on Plugin Activation*/ 
    global $wpdb; 
    $table_name = $wpdb->prefix . "table_name"; 
    $charset_collate = $wpdb->get_charset_collate(); 
    $sql = "CREATE TABLE IF NOT EXISTS $table_name (
      `id` int(11) NOT NULL AUTO_INCREMENT,     
      `records` text COLLATE utf8mb4_unicode_ci NOT NULL, 
      `loggedin_time` datetime NOT NULL, 
      `unique_number` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL, 
      PRIMARY KEY (`id`) 
      ) $charset_collate"; 

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
    dbDelta($sql); 
    /*Create Table on Plugin Activation*/ 

} 


    class WP_DiscoverU { 

// Constructor 
function __construct() 

    register_deactivation_hook(__FILE__, array($this, 'wpa_uninstall')); 
    //call function when activate plugin 
    } 
} 

+0

なぜか分かりませんが、WordPressデータベースに長い間テーブルを作成することができません。何のエラーも表示されません。私はあなたがこの問題を解決するのを助けるinternet.canで利用可能なほぼすべてのソリューションを試しましたか? – user6891871

+0

プラグインを追加するとWordPressの管理パネルにプラグインを追加することができます。プラグインをアクティブにしたときにエラーが表示されない場合は、プラグインをアクティブにすると「はい」、プラグインを追加して上のコードを追加して再度アクティブ化してアクティブにしますプラグイン) これを試してください。 – Ronak

+0

私はすでにそれがエラーを表示していないと言っている。しかし、データベースにテーブルを表示することができません – user6891871

関連する問題