if( !current_user_can('опция, которую умеет только админ') ){
header('HTTP/1.1 404 Not Found');
header('Location: /404.html');
exit(); // на всякий случай if(true !== false) :D
}
роли и возможности
К слову, header пойдет только в том случае, если вызывать функцию в самом начале.