I am looking to display content based on multiple different user roles.
The aim is to display content for two or three different user roles, and then block it for other user roles, displaying a message that it is only for certain logged in users.
So far, I have the following:
<?php
global $user_login, $current_user;
get_currentuserinfo();
$user_info = get_userdata($current_user->ID);
$roles = array (
'administrator',
'subscriber',
);
if (is_user_logged_in() && in_array( $roles, $user_info->roles)) {
//content here
} else {
// they aren't logged in, so show them the login form
}
?>
At the moment, the issue I am having seems to be that the code is looking for both the administrator and subscriber roles at the same time and as a result, the if statement is not satisfied and the login form shows.
If I change $roles to 'administrator' or 'subscriber', it then works fine.
So, how would I search through the array to display either role, not all of them.
Thanks