Se eu tivesse que fazer isso, usaria meu próprio cookie para determinar o login e só carregaria o WordPress para verificar quando necessário.
O cookie wordpress_logged_in_ {some-hash} pode ser usado para determinar o usuário, e o WordPress o utiliza para determinar o mesmo. Você não pode reimplementar facilmente, mas pode usá-lo sem carregar o WordPress em várias solicitações.
Por exemplo, aqui está meu hash de cookie (dados completamente inventados, mas realísticos):
key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890
A maneira como o WordPress sabe como esse cookie é válido é irrelevante, tudo que você precisa saber é se ele é válido uma vez e, em seguida, você o assina com um segredo.
Então, pela primeira vez, o usuário ainda não está comprovado. Você carrega o wp-load.php e o WP valida o cookie e faz o login do usuário. Agora você faz o que fizer para provar a si mesmo que o usuário está logado e depois define seu próprio cookie. A chave pode ser qualquer coisa personalizada para você, o valor que você faz em um resumo de mensagem com uma chave secreta usando a função hash_hmac.
$key = ... // the key from the WP cookie
$value = ... // the value from the WP cookie
$hash = hash_hmac ( 'md5' , $key.$value , 'some secret key' );
Você receberá de volta mensagens sem sentido, que você envia de volta para eles usando setcookie (). Em solicitações futuras, eles enviarão esse cookie de volta para você. Você pode verificar isso primeiro e validá-lo usando a mesma função hash e chave secreta.
Só você pode gerar o hash porque só você conhece a chave secreta. Então, se eles enviarem um hash válido que também corresponda ao que eles enviam para o cookie WP, você sabe que eles já foram validados com o WP, através do seu código, e você pode obter o nome de usuário desse valor (é o primeiro parte do cookie, obviamente). Então você não precisa carregar o WP.
A chave secreta, BTW, deve ser longa e aleatória . Não é uma senha curta. Não é uma palavra do dicionário. Apenas um grande jargão sem sentido. Ruído de linha e muito disso. Exemplo de chave:
'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'