如何在数组中添加字符串var

时间:2014-05-20 16:26:58

标签: php wordpress

这是我要替换的功能:     数组('admin','author')与var like数组($ string) 所以我有一个来自我的主题选项(来自选择字段)的数组,它返回我在函数中需要的用户角色,它返回如下:

 Array ( [0] => administrator [1] => author [2] => subscriber )

我做了:

 $string = "'".implode("','",$array)."'";

我的职能:

add_filter("login_redirect", "subscriber_login_redirect", 10, 3);

function subscriber_login_redirect($redirect_to, $request, $user) {

    if(is_array($user->roles))
      if ( count( array_diff( $user->roles, array($string) ) ) !== count( $user->roles ) ) return site_url('/wp-admin/')

    return home_url();
}

但仍有问题,在我的控制台日志中,字符串var返回'administrator','author','subscriber'

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

使用explode从字符串中创建数组

Array ( [0] => administrator [1] => author [2] => subscriber )

$string = implode(",",$array);

add_filter("login_redirect", "subscriber_login_redirect", 10, 3);

function subscriber_login_redirect($redirect_to, $request, $user) {

    if(is_array($user->roles))
      if ( count( array_diff( $user->roles, explode(",",$string) ) ) !== count( $user->roles ) ) return site_url('/wp-admin/')

    return home_url();
}

“,”可能不是一个好的分隔符,使用最有可能像管道一样独特的东西或者甚至是字符串组合(例如!|!)