重定向至插件激活后的自定义管理菜单

时间:2018-11-15 作者:Alt C

我相信我必须将此添加到我的插件中,以便在插件激活后重定向

根据https://wordpress.stackexchange.com/a/178504/145078

register_activation_hook(__FILE__, \'nht_plugin_activate\');
add_action(\'admin_init\', \'nht_plugin_redirect\');

function nht_plugin_activate() {
add_option(\'nht_plugin_do_activation_redirect\', true);
}

function nht_plugin_redirect() {
if (get_option(\'nht_plugin_do_activation_redirect\', false)) {
    delete_option(\'nht_plugin_do_activation_redirect\');
    if(!isset($_GET[\'activate-multi\']))
    {
        wp_redirect("edit.php?post_type=headline&page=news-headline");
    }
 }
}
但什么是插件前缀nht ?如何在插件激活后重定向我的插件工作需要更新哪些内容?

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

在本例中,“nht\\u0”是一个前缀,以避免与类似函数的命名冲突。这是一个“best practice“在进行自己的开发时进行观察。

因此,如果您正在开发公开发布的内容,您应该习惯于在函数名中使用自己的前缀;由于这个特定的代码片段是来自另一个人/插件的,因此用您自己的代码片段替换它绝对是一个好主意。因此,请将“nht\\u0”更改为可以用作前缀的内容:

register_activation_hook(__FILE__, \'my_custom_prefix_plugin_activate\');
add_action(\'admin_init\', \'my_custom_prefix_plugin_redirect\');

function my_custom_prefix_plugin_activate() {
    add_option(\'my_custom_prefix_plugin_do_activation_redirect\', true);
}

function my_custom_prefix_plugin_redirect() {
    if (get_option(\'my_custom_prefix_plugin_do_activation_redirect\', false)) {
        delete_option(\'my_custom_prefix_plugin_do_activation_redirect\');
        if(!isset($_GET[\'activate-multi\'])) {
            wp_redirect("edit.php?post_type=headline&page=news-headline");
        }
    }
}
我在代码中适当地应用了“my\\u custom\\u prefix\\”作为示例。注意,这不仅包括函数名,还包括保存设置的wp\\u选项。但您可能希望将其更改为适合您和/或您的插件的内容。

结束

相关推荐

WordPress Global Redirect

我需要进一步展开讨论Redirect entire website to a single page 包括两页而不是一页。在这个网站上,我需要两个网页是活的和所有其他重定向到主页。http://prairiebrand.com/这就是我正在尝试的代码,我得到了一个永久重定向。add_action( \'template_redirect\', \'wpse_76802_goodbye_redirect\' ); function wpse_76802_goodbye_redire