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.