سلام
به نظر من استفاده از توابع set_transient و get_transient بجای هندل کردن سشنها با استفاده متغیر گلوبال SESSION_$ به جهت سادگی، یکتا بودن، امنیت و مدیریت بهتر، کارآمدتر هست.
یک نمونه:
$user_id = get_current_user_id();
set_transient('page_checkout_session_' . $user_id, [
'plan' => $_POST['plan_id'],
'nonce' => $_POST['nonce']
], HOUR_IN_SECONDS);