Едно много голямо, според мен, ограничение на WordPress са изключените по подразбиране сесии. Не съм се задълбавала особено в кода, но от прочетеното по въпроса се предлага решение да се добави, където е нужно session_start() и да се направят необходимите промени в wp-settings.php, така че суперглобалната $_SESSION да не се инициализира. За да не се притесняваме обаче, че wp-settings.php може да се обнови от някоя поредна актуализация на кода, предлагам следното решение за ползване на сесии в WP:

във wp-config.php добавяме следните редове (след дефиницията за език и преди включването на wp-settings.php):

session_start();
$WP_SESSION = $_SESSION;

След това, където ни се налага да запишем сесийна променлива (в някой файл на темата, например), го правим по стандартния начин с:

$_SESSION['myvar'] = ‘value’;

а четем записана вече стойност с:

echo $WP_SESSION['myvar'];

Просто, нали?
Идеята е, че съхраняваме в променлива съдържанието на сесията, преди суперглобалната $_SESSION да бъде инициализирана от wp-settings.php. Естествено, не е задължително да се ползва точно $WP_SESSION, свободни сте да изберете всякакво наименование на променлива.