[英]How to hide and disable Wordpress admin menu items
I have two Wordpress Administrator accounts but I need to hide certain admin menu items for one admin.我有两个 Wordpress 管理员帐户,但我需要为一个管理员隐藏某些管理菜单项。 I've out found how to do this but how can I disable directly accessing the page by url?我已经找到了如何执行此操作,但如何禁止通过 url 直接访问该页面? Something like this Advanced Access Manger像这样的高级访问管理器
So far I have..到目前为止我有..
function hide_menu() {
$user = wp_get_current_user();
if($user && isset($user->user_login) && 'admin2' == $user->user_login) {
remove_menu_page( 'plugins.php' ); //Plugins
remove_menu_page( 'tools.php' ); //Tools
remove_menu_page( 'users.php' ); //Users
}
}
add_action('admin_head', 'hide_menu');
Easy Solution: You can use this plugin: https://wordpress.org/plugins/prevent-direct-access/简易解决方案:您可以使用此插件: https://wordpress.org/plugins/prevent-direct-access/
Coding Solution:编码方案:
add_action('template_redirect', function() {
// ID of the page you want to restrict from
if (!is_page(2072)) {
return;
}
// Provide the link of admin dashboard, so that page should only
// accessible
// through admin dashboard
if (wp_get_referer() === 'https://example.com/wp-admin/') {
return;
}
// we are on restricted page
// visitor is trying to access directly
// so redirect to home
wp_redirect(get_home_url());
exit;
} );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.