Използваме PHP сесии в Wordpress, CMS и двигатели за сайтове

сайтове

Отваряне на PHP сесия

Днес искам да ви покажа как да използвате PHP сесии в WordPress. В стандартно PHP приложение сесията започва след извикване на функцията session_start, която се стартира в началото на PHP скрипта. Трябва да отворите файла header.php на темата, която използвате, и да добавите следния код там:

Но този метод едва ли може да се нарече най-ефективен. WordPress предлага API за действия, към който можете да свържете вашите собствени функции. Следващият пример използва точно този метод. Добавете следния код в най-горната част на вашия файл functions.php.

  1. Ще използваме събитието init, за да започнем PHP сесия. Първият път, когато инициализираме WordPress, добавяме действие, което извиква функция:

  1. След това създаваме функцията start_session. Обърнете внимание, че функцията първо проверява дали сесията е активна и едва след това започва нова сесия с помощта на функцията session_id:

Затворете PHP сесията

Функцията session_destroy ви позволява да изчистите PHP сесия. Но кога точно да се извика тази функция? Много зависи от самото приложение. WordPress също предлага няколко начина да направите това с API за действия.

  1. След това създаваме функцията end_session:

Принудително затваряне на сесията

Можете да използвате своя собствена кука, за да затворите сесията във всеки шаблонен фрагмент с помощта на PHP. Ще използваме do_action, за да извикаме функцията end_session, която създадохме по-горе.

  1. Добавете следния код към файла functions.php:

Ако сте направили всичко правилно, тогава най-горната част на вашия файл functions.php ще изглежда така:

Сега трябва да добавим глобалната променлива $_SESSION,който може да се използва по всяко време, докато работите с приложението. Променливата е масив и следното е пример за добавяне на данни към масива на сесията:

Неща, които трябва да имате предвид:

Ако разработвате мащабируем сайт, тогава може да не е необходимо да използвате тези сесии. HTTP е протокол без състояние, PHP сесиите са базирани на състояние. Сесиите се съхраняват на сървъра и се обработват от него. Насочването на всяка сесия към правилния сървър изисква по-сложна конфигурация и създава проблеми за потребителите, чиито сесии се съхраняват на този сървър.

Когато е възможно, информацията за сесията е най-добре да се съхранява в браузъра. Това ще спести ресурси на сървъра, както и ще се отърве от ненужната функционалност.

Преводът на статията „Използване на PHP сесии в WordPress“ е изготвен от приятелския екип на проекта „Изграждане на уеб сайт от А до Я“.