Mostrar itens por user_role

Eu tenho esse código, comece com

{foreach $items as $item} 

Eu sei que devo conectar código abaixo para iniciar o código

  $user = new WP_User( $item->post_author ); if ( !empty( $user->roles ) && is_array( $user->roles ) ) { foreach ( $user->roles as $role ) echo $role; 

Preciso de itens ocultos apenas para uma function “directory_4”. Se o item post_author tiver uma function “directory_4”, os itens serão ocultos e se o item post_author tiver uma outra function será mostrado todos os itens.

Muito obrigado por sua ajuda.

Solutions Collecting From Web of "Mostrar itens por user_role"

Aqui é uma maneira fácil de verificar se um usuário tem uma function. Note que usei sua maneira de obter o WP_User, mas há outros:

 $user = new WP_User( $item->post_author ); // $user = get_userdata( get_current_user_id()); // another way to get logged in user if ( !user_can($user->ID,'directory_4') ) { // show items, user does not have directory_4 role }