Използваме PHP сесии в Wordpress, CMS и двигатели за сайтове
Отваряне на PHP сесия
Днес искам да ви покажа как да използвате PHP сесии в WordPress. В стандартно PHP приложение сесията започва след извикване на функцията session_start, която се стартира в началото на PHP скрипта. Трябва да отворите файла header.php на темата, която използвате, и да добавите следния код там:
Но този метод едва ли може да се нарече най-ефективен. WordPress предлага API за действия, към който можете да свържете вашите собствени функции. Следващият пример използва точно този метод. Добавете следния код в най-горната част на вашия файл functions.php.
- Ще използваме събитието init, за да започнем PHP сесия. Първият път, когато инициализираме WordPress, добавяме действие, което извиква функция:
- След това създаваме функцията start_session. Обърнете внимание, че функцията първо проверява дали сесията е активна и едва след това започва нова сесия с помощта на функцията session_id:
Затворете PHP сесията
Функцията session_destroy ви позволява да изчистите PHP сесия. Но кога точно да се извика тази функция? Много зависи от самото приложение. WordPress също предлага няколко начина да направите това с API за действия.
- След това създаваме функцията end_session:
Принудително затваряне на сесията
Можете да използвате своя собствена кука, за да затворите сесията във всеки шаблонен фрагмент с помощта на PHP. Ще използваме do_action, за да извикаме функцията end_session, която създадохме по-горе.
- Добавете следния код към файла functions.php:
Ако сте направили всичко правилно, тогава най-горната част на вашия файл functions.php ще изглежда така:
Сега трябва да добавим глобалната променлива $_SESSION,който може да се използва по всяко време, докато работите с приложението. Променливата е масив и следното е пример за добавяне на данни към масива на сесията:
Неща, които трябва да имате предвид:
Ако разработвате мащабируем сайт, тогава може да не е необходимо да използвате тези сесии. HTTP е протокол без състояние, PHP сесиите са базирани на състояние. Сесиите се съхраняват на сървъра и се обработват от него. Насочването на всяка сесия към правилния сървър изисква по-сложна конфигурация и създава проблеми за потребителите, чиито сесии се съхраняват на този сървър.
Когато е възможно, информацията за сесията е най-добре да се съхранява в браузъра. Това ще спести ресурси на сървъра, както и ще се отърве от ненужната функционалност.
Преводът на статията „Използване на PHP сесии в WordPress“ е изготвен от приятелския екип на проекта „Изграждане на уеб сайт от А до Я“.