Pra*_*eka 8 wordpress wordpress-plugin
我试过,如何在激活我的插件后将用户重定向到我的插件设置页面
register_activation_hook(__FILE__,'activate_myplugin');
function activate_myplugin()
{
//create and populate DB tables
wp_redirect(plugin_setting_url);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
Ric*_*d M 13
你应该可以做这样的事情:
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('my_plugin_do_activation_redirect', true);
}
function my_plugin_redirect() {
if (get_option('my_plugin_do_activation_redirect', false)) {
delete_option('my_plugin_do_activation_redirect');
wp_redirect(MY_PLUGIN_SETTINGS_URL);
}
}
Run Code Online (Sandbox Code Playgroud)
仅当仅在不使用批量激活模式的情况下激活该插件时,这将重定向到选项页面.
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('my_plugin_do_activation_redirect', true);
}
function my_plugin_redirect() {
if (get_option('my_plugin_do_activation_redirect', false)) {
delete_option('my_plugin_do_activation_redirect');
if(!isset($_GET['activate-multi']))
{
wp_redirect("options-general.php?page=your-plugin-option-page");
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
感谢您的代码 - 它很棒,但只有一个缺点:在批量激活插件时,您还会被重定向到您定义的重定向页面 - 在出于测试/调试原因而立即停用/激活所有插件时,这可能会使用户感到困惑。因此,我会提出解决方案,添加一个选项,仅在首次激活插件时重定向到您的页面:
register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');
function my_plugin_activate() {
add_option('myplugin_redirect_on_first_activation', 'true');
}
function my_plugin_redirect() {
if (get_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY) == 'true') {
update_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY, 'false');
wp_redirect(MY_PLUGIN_SETTINGS_URL);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3498 次 |
| 最近记录: |