Создал пользовательский плагин для Wordpress, который работает, но не работает.Неустранимая ошибка - но она работает - не будет активирована
Когда я активировать плагин с помощью следующего кода документ:
- создает таблицу
- и вставляет данные (хотя в 3 раза?).
Затем «Плагин не может быть активирован, потому что он вызвал фатальную ошибку».
- Нет журнала отладки не будет создаваться
- Там нет ошибок в консоли.
- форм-работ и представляет
Это функция создания таблицы:
function db1_install() {
global $wpdb;
global $db_version1;
global $table_name;
$table_name = $wpdb->prefix . 'myCategories';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL,
item varchar(20) NOT NULL,
item_cat varchar(20) NOT NULL
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option('db_version1', $db_version1);
}
register_activation_hook(__FILE__, 'db1_install');
И это вставить данные функции:
`enter code here`function add_categories(){
global $wpdb;
$table_name = $wpdb->prefix . 'myCategories';
$wpdb->query("INSERT INTO $table_name (id,item,item_cat)
values (1,'item1','cat1'), (2,'item2','cat1'), (2,'item3','cat4')");
die();
return true;
}
register_activation_hook(__FILE__, 'add_categories');
кого?
Две потенциальные проблемы, которые я вижу в вашем коде: 1) Функция 'die();' в вашей функции 'add_categories()' может помешать работе WordPress распознавать, был ли активирован плагин. 2) 'global $ table_name;'. Вы не должны помещать свою таблицу в глобальное пространство имен, поскольку это может противоречить другим плагинам. –
Эй, Лукас. Ты совершенно прав. Спасибо за комментарий. Ты очень помог мне, и я удалил стол из мира. Еще раз спасибо за понимание. – Diggetydog
Удивительный, рад, что он сработал. –