我有一个多站点安装,需要将默认插件页面重定向到另一个将处理插件的管理页面。例如,如果他们要求/wp-admin/plugins.php
, 然后应该将它们重定向到/wp-admin/admin.php?page=pretty-plugins.php
如果他们不是网络管理员。下面的代码是我到目前为止想出的,但我需要帮助完成它。如有任何帮助和建议,将不胜感激。
function block_direct_plugin_page_access() {
if ( ! current_user_can( \'update_core\') && ) //And requests plugins.php
{
//Redirect to new plugin page because they are not a network admin.
wp_safe_redirect( \'[Insert Link Here]\', 301 );
exit;
}
}
add_action("muplugins_loaded", "block_direct_plugin_page_access");
最合适的回答,由SO网友:Marc Woodyard 整理而成
经过一点尝试和错误,我终于让我的代码开始工作了。这将重定向http://example.com/wp-admin/plugins
到http://example.com/wp-admin/admin.php?page=pretty-plugins.php
如果当前用户没有更新core的权限。
add_action( \'admin_menu\', \'block_direct_plugin_page_access\' );
function block_direct_plugin_page_access() {
global $pagenow;
if ( ! current_user_can(\'update_core\') && \'plugins.php\' === $pagenow ) {
if ( function_exists(\'admin_url\') ) {
wp_redirect( admin_url(\'admin.php?page=pretty-plugins.php\') );
} else {
wp_redirect( get_option(\'siteurl\') . \'/wp-admin/\' . \'admin.php?page=pretty-plugins.php\' );
}
}
}