Создание таблиц для WordPress с помощью PHP

Создать таблицы для базы данных сайта на WordPress можно не только через phpMyAdmin, но и посредством кода.

Для создания таблиц в WordPress достаточно один раз запустить скрипты с кодом ниже.

Пример 1

Создаём таблицу с 2 колонками: id и type. В ней же создадим 2 строки. В строку type поместим какое-нибудь содержимое.

function createTables()
{
    global $wpdb;
    $table_name = $wpdb->prefix ."new_table_name";

    $sql = "CREATE TABLE if NOT EXISTS $table_name (
          `id` BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
          `type` TINYTEXT
        );";

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

    echo 'Таблица создана';

    $wpdb->insert($table_name, ['type' => 'Содержимое 1']);
    $wpdb->insert($table_name, ['type' => 'Содержимое 1']);

    exit;
}

Пример 2

function createTables()
{
    global $wpdb;
    $tableName = $wpdb->prefix . 'new_table_name';

    $sql = "CREATE TABLE if NOT EXISTS $tableName (
          `id` BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
          `number` BIGINT,
          `type_id` BIGINT,
          `votes` MEDIUMTEXT
        );";

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

    echo 'Таблица создана';
    exit;
}

Возможные ошибки

Если при создании таблицы возникнет подобная ошибка:

Ошибка базы данных WordPress: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id' BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `number` BIGINT, ' at line 2]
CREATE TABLE if NOT EXISTS new_table_name ( 'id' BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `number` BIGINT, `type_id` BIGINT, `votes` MEDIUMTEXT )

То проблема кроется в кавычках. Недопустимо использовать одинарные кавычки. Нужны специальные кавычки такого типа:

`

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Создание таблиц для WordPress с помощью PHP"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>