Если бы мне пришлось это сделать, я бы использовал свой собственный файл cookie для определения имени входа и загружал WordPress только для проверки при необходимости.
Файл cookie wordpress_logged_in_ {some-hash} может использоваться для определения пользователя, а WordPress использует его для определения того же самого. Вы не можете легко переопределить это, но вы можете использовать его без загрузки WordPress на несколько запросов.
Например, вот мой хэш cookie (полностью скомпонованный, но реалистичный):
key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890
То, как WordPress знает, как этот файл cookie действителен, не имеет значения, все, что вам нужно знать, это то, действителен ли он один раз, а затем вы подпишите его секретом.
Итак, впервые пользователь еще не доказал. Вы загружаете wp-load.php, а WP проверяет cookie и регистрирует пользователя. Теперь вы делаете все, что делаете, чтобы доказать себе, что пользователь вошел в систему, затем вы устанавливаете свой собственный cookie. Ключом может быть что угодно, значение, которое вы вводите в дайджест сообщения с секретным ключом с помощью функции 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' );
Вы получите обратно тарабарщину, которую вы отправите обратно с помощью setcookie (). При будущих запросах они отправят вам этот файл cookie. Вы можете сначала проверить это и проверить его, используя ту же хеш-функцию и секретный ключ.
Только вы можете генерировать хэш, потому что только вы знаете секретный ключ. Поэтому, если они отправляют обратно действительный хеш, который также совпадает с тем, что они отправляют для своих файлов cookie WP, то вы знаете, что они были проверены с помощью WP, через ваш код и ранее, и вы можете получить имя пользователя прямо из этого значения (это первое часть печенья, очевидно). Тогда вам не нужно загружать WP.
Кстати, секретный ключ должен быть длинным и случайным . Не короткий пароль. Не словарное слово. Просто большой бессмысленный бред. Шум в линии и многое другое. Пример ключа:
'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'