2016-08-18 48 views
3

我有了这个辉煌的一段代码,限制访问可湿性粉剂管理员登录页面,除非登录的用户是管理员的网站:限制用户对于某个特定页面的访问 - WordPress的

add_action('init', 'blockusers_init'); 
    function blockusers_init() { 
    if (is_admin() && ! current_user_can('administrator') && 
    ! (defined('DOING_AJAX') && DOING_AJAX)) { 
    wp_redirect(home_url()); 
    exit; 
    } 
} 

我想添加另一个功能来限制访问并执行相同的重定向到我的主页,但我的网站的特定页面。 但是,这是行不通的:

add_action('init', 'blockusers_init'); 
    function blockusers_init() { 
    if (is_admin() && ! current_user_can('administrator') && 
    ! (defined('mysite.co.uk/shop') && DOING_AJAX)) { 
    wp_redirect(home_url()); 
    exit; 
    } 
} 

而且我不是由surpised,但我希望有人不得不正确的代码来执行此功能?

感谢

回答

1

您可以添加到您的header.php文件,以检查他们是否在页面上,如果他们是管理员或不

if(is_page(PAGE_ID)){ 
    current_user_can('manage_options'){ 
     ---do redirect here or whatever else--- 
    } 
} 

您还可以创建负载通过像你一样的init动作来实现函数。

相关问题