的第一个参数register_activation_hook()
是plugin filename including the path, 所以你需要__FILE__
而不是plugin_dir_path( __FILE__ )
.
// This should be in main plugin file
register_activation_hook( __FILE__, \'enable_user_registration\' );
function enable_user_registration() {
if(!get_option(\'users_can_register\')) {
update_option( \'users_can_register\', \'1\' );
}
}
通常在主插件文件中注册激活挂钩,但是
the callback can be defined in any file you wish.
例如,在测试文件中。php您可以定义回调:
function enable_user_registration() {
if(!get_option(\'users_can_register\')) {
update_option( \'users_can_register\', \'1\' );
}
}
在主插件文件中,您可以注册激活挂钩:
/*
Plugin Name: Test Plugin
Description: test
Version: 1.0
*/
include_once( plugin_dir_path( __FILE__ ) . \'test-file.php\' );
register_activation_hook( __FILE__, \'enable_user_registration\' );
您还可以存储
__FILE__
来自常量中的主插件文件,因此无需对任何文件名或文件路径进行harcode:
/*
Plugin Name: Test Plugin
Description: test
Version: 1.0
*/
define( \'MY_PLUGIN_FILE_PATH\', __FILE__ );
define( \'MY_PLUGIN_DIR_PATH\', plugin_dir_path( __FILE__ ) );
include_once( MY_PLUGIN_DIR_PATH . \'test-file.php\' );
然后,在测试文件中。php:
register_activation_hook( MY_PLUGIN_FILE_PATH, \'enable_user_registration\' );
function enable_user_registration() {
if(!get_option(\'users_can_register\')) {
update_option( \'users_can_register\', \'1\' );
}
}