вот мой код активации плагина
$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, и все, что я когда-либо получаю, – это большая желтая коробка, в основном пустая, с «Плагин не может быть активирован, потому что он вызвал фатальную ошибку».
Когда происходит активация, ваш плагин включен из другой функции, а затем вызывается myplugin_activate () из этой функции (в частности, в функции activate_plugin ()) в том месте, где активирован ваш плагин. Поэтому основные переменные тела находятся в области функции activate_plugin () и не являются глобальными, если вы явно не объявляете свою глобальную область действия
См. Остальную часть этой заметки в области переменных: http://codex.wordpress.org/Function_Reference/register_activation_hook#A_Note_on_Variable_Scope