如何在插件激活后自动重定向到自定义管理菜单?

时间:2020-03-10 作者:Knott

我需要一个功能,重定向用户到插件设置页面,插件激活后的权利。

我使用此功能创建自定义菜单设置页面:

// add option page menu link
function axl_ads_add_admin_menu() { 
    $icon = \'dashicons-align-left"\';
      add_menu_page( \'AXL Ads\', \'AXL Ads\', \'manage_options\', \'axl_ads\',  array($this, \'axl_ads_options_page\'), $icon, \'3\' );
  }
我的设置页面url为:wp-admin/admin.php?page=axl_ads

请帮个忙好吗?

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

您可以使用register_activation_hook(). 将此添加到您的插件中,经过测试并正常工作。

register_activation_hook(__FILE__, \'redirect_after_activation\');

function redirect_after_activation() {
    add_option(\'redirect_after_activation_option\', true);
}

add_action(\'admin_init\', \'activation_redirect\');

function activation_redirect() {
    if (get_option(\'redirect_after_activation_option\', false)) {
        delete_option(\'redirect_after_activation_option\');
        exit(wp_redirect(admin_url( \'wp-admin/admin.php?page=axl_ads\' )));
    }
}

SO网友:Zakaria Binsaifullah

有一个名为register\\u activation\\u hook的钩子,通常在插件激活时起作用。这个函数应该在plugins\\u加载的钩子中调用。所以

首先,调用激活挂钩-

function fn_name(){
register_activation_hook(__FILE__,\'activation_fn\');
}
add_action(\'plugins_loaded\',\'fn_name\');
现在,您需要调用函数-

function activation_fn(){
 wp_redirect($target_url);
}
这里使用wp\\u redirect($url)将您重定向到特定位置。因此,只需在wp\\u redirect()函数中添加目标URL即可。

因此,当您的插件被激活时,它会自动重定向到您的特定位置。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。