• как узнать номер сессии, зарегестрированного и вошедшего в систему пользователя, чтобы к примеру каждый раз для него на главной странице выводить приветствие с его именем?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • ммм… если я не ошибаюсь, то это делается автоматически в сессии. ПРимер с именем в документации даже используется этот.

    Вообще создается автоматически при работе с сессией кука в браузере, которая хранится у пользователя. Имя куки определяется настройками php и по умолчанию имеет вид session_id кажется.

    я не могу получить ее значение\номер.

    Atrax

    (@atrax)

    Ethical engineer

    Насколько я зняю, авторизация в WP вообще не использует сессии, а работает только на куках.

    как в WP мне можно узнавать из cookie уникальные идентификаторы присвоенные для разных пользователей?

    Если php использует метод хранения session id как куки (COOKIES), то это все автоматически делается.
    http://www.php.su/functions/?cat=session

    А вот пример с именем как раз — http://www.softtime.ru/scripts/worksession.php

    А узнать индификатор конкретного пользователя — только присваивая куку пользователю самостоятельно и проверяя ее самостоятельно, связывая по какой-то логике пользователя и его сессию.

    в корневом каталоге редактирую index.php файл
    дописываю в него

    print_r ($_SESSION);
    exit;

    и никакой информации в ответ…

    Сессию предварительно нужно стартануть функцией session_start

    А вы уверены, что когда вы заходите, у вашего пользователя есть сессия.

    Atrax пишет, что авторизация без сессии в ВП, т.е. вполне нормально может быть, что у вас она пустая, т.к. там действительно пусто пока.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    как узнать номер сессии, зарегестрированного и вошедшего в систему пользователя, чтобы к примеру каждый раз для него на главной странице выводить приветствие с его именем?

    А зачем номер сессии?

    if ( is_user_logged_in() ) {
    	global $user_identity;
    	echo "Привет, $user_identity!";
    }

    if ( is_user_logged_in() ) {
    	global $user_identity;
    	echo "Привет, $user_identity!";
    }

    а это таки работает! спасибо!

    А зачем номер сессии?

    т.к. я пишу плагин (задание написать подсистему со своей админкой) и плохо шарю в WP.

    Помимо существующих таблиц ВП создал еще две. В одной ‘id_прав’ и ‘права пользователей’, в другой ‘id’, ‘id_прав’ и ‘идентификационные номера пользователей’ выданные им при регистрации в системе ВП. С помощью разработанного мною поиска я в разработанной мною админке нахожу зарегестрированного ранее в системе ВП нужного пользователя из таблицы ‘wp_usermeta’ и вывожу его индивидуальный номер из поля ‘umeta_id’ и его логин из поля ‘meta_value’, после чего переписываю эти данные в новые созданные мною таблицы.

    Для разных прав доступа необходимо выводить разный контент, для этого я получаю через куки данные о вошедшем в систему пользователе, по созданным мною таблицам проверяю какие у него права и соответственно этим правам вывожу необходимый контент… как-то так…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Возможно, будет полезна информация о штатных ролях и возможностях:
    http://codex.wordpress.org/Roles_and_Capabilities
    http://codex.wordpress.org/Function_Reference/current_user_can
    http://codex.wordpress.org/Function_Reference/get_currentuserinfo

    Или плагины для управления правами доступа:
    http://wordpress.org/extend/plugins/role-scoper/
    http://wordpress.org/extend/plugins/tags/members

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «сессии» закрыта для новых ответов.