安装后重定向至设置页面

时间:2012-02-19 作者:Danny

我在任何地方都找不到这方面的任何信息,但我肯定我以前见过。

我想让一个用户在安装后进入我的插件的设置页面,所以要么自动重定向,要么将“返回插件”链接更改为自定义链接。

提前感谢

SOLVED

function myplugin_activate() {    
    // TODO: Install your plugin here.

    // I don\'t know of any other redirect function, so this\'ll have to do.
    wp_redirect(admin_url(\'options-general.php?page=myplugin_settings\'));exit;
    // You could use a header(sprintf(\'Location: %s\', admin_url(...)); here instead too.
}
register_activation_hook(__FILE__, \'myplugin_activate\');
@Zack-你的方法很好用,但是你在wp\\u重定向后忘记退出了。(来源http://codex.wordpress.org/Function_Reference/wp_redirect)

非常感谢

3 个回复
最合适的回答,由SO网友:Zack 整理而成

注册激活挂钩,然后在安装完插件后重定向用户浏览器。

function myplugin_activate() {    
    // TODO: Install your plugin here.

    // I don\'t know of any other redirect function, so this\'ll have to do.
    wp_redirect(admin_url(\'options-general.php?page=myplugin_settings\'));
    // You could use a header(sprintf(\'Location: %s\', admin_url(...)); here instead too.
}
register_activation_hook(__FILE__, \'myplugin_activate\');

SO网友:WpMania.Net

我看问题已经回答了。但也有另一种情况,您可能希望在theme installed. 使用以下代码可以非常轻松地完成此操作:)

if (is_admin() && isset($_GET[\'activated\'])){

    wp_redirect(admin_url("themes.php?page=ot-theme-options"));
}
您只需替换以下代码themes.php?page=ot-theme-options 使用您自己的设置页面url。

这很容易做到,我们正在使用WP重定向功能。

谢谢Sabbir

SO网友:Ivijan Stefan Stipić

您还可以使用另一种更优雅的解决方案:

register_activation_hook(__FILE__, function () {
    add_option(\'your_plugin_do_activation_redirect\', true);
});

add_action(\'admin_init\', function () {
    if (get_option(\'your_plugin_do_activation_redirect\', false)) {
        delete_option(\'your_plugin_do_activation_redirect\');
        exit( wp_redirect("options-general.php?page=myplugin_settings") );
    }
});
批准的答案是旧的,并在激活内产生错误,或将您重定向到404页管理内。此解决方案为您提供了无错误的安全重定向。

结束

相关推荐

函数deactive_plugins不存在

我正在function deactivate_plugins does not exist 调用此函数时出错function deactivateSelf(){ deactivate_plugins(RSD_PLUGIN, true); //gives error: function deactivate_plugins does not exist header(\"Location: plugins.php?deactivate=true\"); //redirect