限制用户访问特定页面 - Wordpress

时间:2016-08-18 19:42:50

标签: php wordpress

我有这段精彩的代码限制访问wp-admin登录页面,除非登录的用户是网站的管理员:

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;
  }
}

我并不感到惊讶,但我希望有人必须纠正代码才能执行此功能?

由于

1 个答案:

答案 0 :(得分:1)

您可以将此添加到header.php文件中,以检查他们是否在页面上以及他们是否是管理员

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

你也可以像你一样通过init动作创建加载函数。