As sessões de plug-in do Wordpress só funcionam quando conectado

Estou tendo problemas com um plugin do Wordpress em que estou trabalhando. As sessões PHP não estão se comportando de maneira consistente. Eu li os seguintes artigos:

https://wordpress.stackexchange.com/questions/121144/session-in-wordpress-plugin-development

https://silvermapleweb.com/using-the-php-session-in-wordpress/

E muitos mais dão os mesmos conselhos sobre como iniciar a sessão usando o gancho init.

Eu implementei isso no meu plugin:

add_action('init', 'set_session', 1);

function set_session(){
    if(!session_id()){
        session_start();
    }
}

As sessões ainda estão se comportando de maneira estranha, então eu criei um teste para ver se as sessões estão sendo definidas.

$_SESSION['GuestID'] = 'test';

if(!session_id()){
    echo 'Session Not Started';
} else{
    if(isset($_SESSION['GuestID'])){
        echo 'Guest ID From Session: '.$_SESSION['GuestID'];
    } else{
        echo 'Guest ID not set in Session!';
    }
}

Quando eu executo isso, o ID do convidado é retornado 'ID do convidado da sessão: teste'; no entanto, se você recarregar a tentativa de acessar a sessão a partir de outra página, receberá o 'ID do convidado não definido na sessão!' mensagem. Para mim, isso indica que a sessão foi iniciada, mas, por algum motivo, não está armazenando os dados da minha sessão.

Também posso ver que não há nenhum cookie sendo armazenado para o ID da sessão.

A parte estranha de tudo isso é que, se eu entrar no administrador do Wordpress, o ID da sessão do PHP é armazenado em um cookie e as sessões se comportam conforme o esperado!

O que poderia estar causando isso? E como posso resolver o problema?

questionAnswers(1)

yourAnswerToTheQuestion