I am defining $_SESSION['session_test'] from $_POST['reason'] I get from AJAX call.
Inside of this function, $_SESSION['session_test'] does get defined, and I get desired echo result.
add_action('wp_ajax_return_reason', array( __CLASS__ , 'select_return_reason'));
static function select_return_reason() {
$_SESSION['session_test'] = $_POST['reason'];
echo "REASON: " . $_SESSION['session_test'];
echo "<br>";
wp_die();
}
But, when I refresh page and try to echo $_SESSION['session_test'] in some other function below this one, it's empty - I get NULL.
add_action('woocommerce_after_cart_table', array( __CLASS__ , 'display_returned_items'));
static function display_returned_items() {
echo "Testing: " . $_SESSION['session_test'];
}
Why $_SESSION['session_test'] value is available/defined only inside function which is executed by AJAX?
My session_start(); is on the top of the php file, right after the <?php opening tag.
Please let me know if I should provide more info. Thanks.