这是我的插件激活码
$classified_category_name = 'classified';
$credit_table_name = 'credits';
$credit_table_version = 0.1;
register_activation_hook(__FILE__, 'LBH_Classifieds_Activate');
function LBH_Classifieds_Activate()
{
global $wpdb;
global $classified_category_name;
global $credit_table_name;
global $credit_table_version;
$table_name = $wpdb->prefix . $credit_table_name;
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
$sql = "CREATE TABLE " . $table_name . " (
time bigint(11) DEFAULT 0 NOT NULL,
amount tinyint(3) DEFAULT 0 NOT NULL,
username varchar(50) NOT NULL,
UNIQUE KEY username (username)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
add_option('lbh_db_version', $credit_table_version);
}
但全局变量是空的。
此外,有没有办法从插件中打印任何信息?我已经尝试返回一个WP_Error,抛出一个WP_Error,而我所能获得的只是一个大黄色框,大多是空的,“插件无法激活,因为它触发了一个致命的错误。”
答案 0 :(得分:1)
当激活发生时,你的插件包含在另一个函数中,然后你的myplugin_activate()从你的插件被激活的那个函数内(特别是在activate_plugin()函数内)调用。因此,主体变量属于activate_plugin()函数的范围,并且不是全局变量,除非您明确声明其全局范围
请参阅本说明的有关变量范围的其余部分:http://codex.wordpress.org/Function_Reference/register_activation_hook#A_Note_on_Variable_Scope