Se eu tivesse que fazer isso, usaria meu próprio cookie para determinar o login e carregaria apenas 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 usa para determinar o mesmo. Você não pode reimplementar isso facilmente, mas pode usá-lo sem carregar o WordPress em várias solicitações.
Por exemplo, aqui está o meu hash de cookie (dados completamente compostos, mas realistas):
key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890
A maneira como o WordPress sabe como esse cookie é válido é irrelevante, tudo o que você precisa saber é se é válido uma vez e depois assina-o 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 efetua login no usuário. Agora você faz o que faz para provar a si mesmo que o usuário está logado e, em seguida, define seu próprio cookie. A chave pode ser qualquer coisa personalizada para você, o valor que você cria em um resumo da 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á respostas sem sentido, que serão enviadas 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.
Somente você pode gerar o hash porque somente você conhece a chave secreta. Portanto, se eles enviarem de volta um hash válido que também corresponda ao que eles enviam para o cookie WP, você saberá que eles foram validados com o WP, por meio do seu código, antes, e poderá obter o nome de usuário com esse 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 grandes bobagens absurdas. Ruído de linha e muito. Chave de exemplo:
'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'