Вы можете избежать необходимости выполнять session_start () в WordPress перед чтением / записью $ _SESSION. Просто сделайте это в файле вашего плагина или functions.php темы:
if (!session_id()) {
add_action('init','session_start');
}
Обратите также внимание, что если вы используете следующее перед вызовом session_start (), это будет работать во многих приложениях PHP, но заставит WordPress ERASE переменную сеанса по какой-то странной причине:
session_set_cookie_params(0,'/');
Итак, я исключил это утверждение и теперь использую трюк в functions.php, и теперь мои плагины и темы поддерживают сессии просто отлично.