Плагин Wordpress, не создающий таблицу БД - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь создать таблицу БД при активации моего плагина. Тем не менее, он не создается, и я понятия не имею, почему. Расположение файла правильное, и я пробовал как с $ wpdb-> query, так и с $ dbDelta, который, похоже, не работает.

Следующий код находится в файле include / davi-referrals-install.php.

<?php
/*
*Create database table on plugin activation
*/

function dr_activation () {
    global $wpdb;
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    //Table Used To Store Referrer Accounts
    $table_name = $wpdb->prefix . "dr_accounts"; 
    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        name text NOT NULL,
        email varchar(200) NOT NULL,
        password varchar(64) NOT NULL
        companyname text NOT NULL,
        telephone text NOT NULL,
        code text NOT NULL,
        balance text NOT NULL,
        registered datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";

    $wpdb->query($sql);
}?>

Основной файл плагина:

//Return Plugin Installation Process
function referral_activation(){
    require_once plugin_dir_path( __FILE__ ).'includes/davi-referrals-install.php';
    dr_activation();
} register_activation_hook( __FILE__, 'referral_activation');

Ошибка, которую я получаю с включенным WP_DEBUG, больше не отображается, когда я удаляю вызов функции dr_activation ():

Плагин генерировал 777 символов неожиданного вывода во время активации.

1 Ответ

0 голосов
/ 29 марта 2019

После включения было легко найти:

define( 'WP_DEBUG_DISPLAY', true );
define( 'WP_DEBUG_LOG', true );

Я пропустил запятую после объявления пароля:

password varchar(64) NOT NULL
companyname text NOT NULL,

Решение:

    password varchar(64) NOT NULL,
    companyname text NOT NULL,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...