WordPress и сессия ($_SESSION)

WordPress и сессия  или как заставить работать session_start в WP как и на чистом php.

Создавая шаблон на WordPress через какое-то время, я понял, что стандартный session_start() в WP не хочет работать. И как оказалось это не является багом движка, сессии в самом движке (как и практически дургие переделанные функции в WordPress) отсикаются специально, но все равно данное ограничение можно обойти.




Открываем наш шаблон и создаем новый или открываем уже существующий файл function.php (данная темадолжна быть включена как активная в админке сайта). function.php обязан находиться в корне нашего шаблона (wp-content/themes/<название самой темы>) куда добавим наш код:

add_action(‘init’, ‘omyblog_init_session’, 1);

if ( !function_exists(‘omyblog_init_session’)):
function omyblog_init_session()
{
session_start();
}
endif;




В первой строчке указываем на повышенный приоритет нашей созданной функции, и поэтому вызов нашего кода будет происходить для всего шаблона.
После данных не хитрых манипуляции можно пользоваться $_SESSION, как на простом чистом php.

Реклама