Как получить данные для входа (сеанса) за пределами WordPress?


Я полагаю, WP использует сеанс PHP (или файл cookie) для сохранения данных для входа, верно?

У меня есть веб-сайт, который использует WP в качестве CMS, но отображает (и создает) контент извне. Я разрешаю анонимные сообщения, просто не передавая $post['post_author'] в wp_insert_post()

Однако я также хочу, чтобы пользователи (зарегистрированные в WP) могли входить в систему mysite/wp/wp-login.php, а не перенаправляться на mysite/mypage.php и получать user id из сеанса или cookie.

Как мне это сделать это?

Редактировать

Код:

include( 'wp/wp-load.php');  
global $current_user;
get_currentuserinfo();
print_r($current_user);

При этом выводится пустой объект WP_User:

WP_User Object ( [data] => [ID] => 0 [caps] => Array ( ) [cap_key] => [roles] => Array ( ) [allcaps] => Array ( ) [filter] => ) 

Хотя я вошел в систему в WP.

P.S.
Теперь, когда я увидел wp-login-form в тегах, это дало мне лучшую идею.

Могу ли я разместить форму входа на своей странице (за пределами wp)? Это, безусловно, было бы лучше, так как это не потребовало бы от пользователей перенаправления.

Я хочу минимального (в идеале нулевого) взаимодействия между mysite/wp и посетителями (включая Google Бот).

Author: jeff, 2013-07-08

1 answers

Я решил свою проблему, и это определенно могло бы помочь и другим.

Проблема была с файлами cookie, так как моя структура папок была такой:

  • mysite.com
  • mysite.com/mypage.php
    • мой сайт/wordpress/

Файлы cookie действительны только для папки wordpress и ее подкаталогов.

Чтобы активировать файлы cookie за пределами wordpress, я установил плагин root Cookie, и все работает нормально сейчас.

P.S.

Не НЕ изменять конфигурацию корневого файла cookie. Просто оставьте параметр Доменного имени пустым.

 3
Author: jeff, 2013-07-14 13:02:59