Включение сеансов в WordPress 3.0
-
16-10-2019 - |
Вопрос
Я использую WFCART на моем сайте WordPress, но по какой -то причине на определенных страницах WordPress бросает сеанс, мне интересно, есть ли способ включить сеансы в WordPress 3?
Решение
Если вам нужно вручную включить сеанс по всему миру, используйте это в своих функциях.
add_action('init', 'session_manager');
function session_manager() {
if (!session_id()) {
session_start();
}
$_SESSION['foo'] = 'bar';
}
И если вы хотите вручную очистить сеанс на мероприятии (например, вход в систему):
add_action('wp_logout', 'session_logout');
function session_logout() {
session_destroy();
}
Другие советы
В качестве дополнения к ответу Соматика, обратите внимание, что сеансы могут помешать вам масштабироваться при неправильном настроении.
В частности, если ваш сайт охватывает более одного сервера, обязательно используйте один из встроенных обработчиков Save Save Memcached от PECL или обработчика сеанса на основе SQL. И если вы выберете обработчик SQL, записанный в PHP, обязательно используйте Locking, если ваше приложение включает в себя какой-либо AJAX.
Не делая этого и не придерживаясь обработчика файловой системы, вы можете потерять сеансы, основываясь на том, какой сервер попадает в конечные пользователи.