【发布时间】:2015-10-23 18:21:57
【问题描述】:
我正在制作我的第一个 wordpress 插件,我想在激活插件时在我的数据库中制作表格。我完全按照 wordpress 社区所说的那样编写代码,但它不起作用。我尝试了几次,但结果是一样的。我也想知道我的插件在我的主插件菜单中显示了 2 个子菜单,就像
我的插件 -- 我的插件 -- 我的子菜单页面
请帮助我是插件开发的新手。
// Registering plugin
register_activation_hook(__FILE__, 'myplugin_activate');
//Deactivate plugin
register_deactivation_hook(__FILE__, 'myplugin_deactivate');
function myplugin_activate() {
global $wpdb, $table_prefix;
global $favoritethis_db_version;
$table_name = $table_prefix.
'my-plugin-table';
$charset_collate = $wpdb - > get_charset_collate();
if ($wpdb - > get_var("show tables like '$table_name'") != $table_name) {
require_once(ABSPATH.
'wp-admin/upgrade-functions.php');
$sql = "CREATE TABLE ".$table_name.
" (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time datetime DEFAULT '0000-00-00 00:00:00'
NOT NULL,
name tinytext NOT NULL,
text text NOT NULL,
url varchar(55) DEFAULT ''
NOT NULL,
UNIQUE KEY id(id)
) $charset_collate;
";
}
require_once(ABSPATH.
'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
function myplugin_deactivate() {
// Deactivation code here...
echo "<script>alert('Ohhh.. no baby the plugin is deactivated now..')</script>";
}
【问题讨论】:
-
你最想要的是什么?解决子菜单问题或其他问题?
-
谢谢哥们,我自己找到了两者的解决方案。