is_user_logged_in não retornando nada na página personalizada

Estou tentando usar a autenticação WordPress em uma página PHP personalizada, no entanto, ao verificar “is_user_logged_in”, ela não retorna nada e outras funções também não estão retornando nada útil.

O código que estou usando é:

require $_SERVER['DOCUMENT_ROOT'] . "/wp-load.php"; require $_SERVER['DOCUMENT_ROOT'] . "/wp-blog-header.php"; print_r(is_user_logged_in()); 

Identifiquei a área de administração antes de testar isso. Ao estar conectado ou desconectado, a function ainda não retorna nada e não há erros no PHP.

Solutions Collecting From Web of "is_user_logged_in não retornando nada na página personalizada"

A minha configuração global?

Como você pode ver, olhe para o »Ajudar« -panel, quando estiver usando meu »Informações da canvas de administração atual« 1) , existem certos pontos / ganchos / filtros no código, que precisam passar antes de um global está configurado.

insira a descrição da imagem aqui

1) Ainda está procurando por um nome melhor.

Quando ligar?

Ontem, ao ler o bate-papo do WPSE, tive uma ótima idéia que foi a base para o plugin acima mencionado. Para dar uma idéia de como verificar se um global está configurado, basta ler o seguinte código:

 function get_hook_for_global() { $global = $GLOBALS['some_global']; if ( isset( $global ) ) { remove_filter( current_filter(), __FUNCTION__ ); return print "Global: $global
Set on: ".current_filter(); } } add_action( 'all', 'get_hook_for_global' );

Isso imprime o conteúdo do global, bem como o filtro onde foi configurado.

Melhorando o cheque

Se você quiser obter uma saída detalhada, você também terá que adicionar o gerenciamento de array/object :

 // Object/Array handling: Dump contents if ( is_array( $global ) OR is_object( $global ) ) $global = var_export( $global, true ); 

Não é possível carregar o WordPress assim e trabalhar com os mecanismos de autenticação. Os cookies de autenticação são vinculados ao URL do site e só são enviados para esses URLs. Se o seu esquema de URL estiver fora do esquema normal de URL do WordPress, ele não receberá os cookies, e você não será logado no WordPress ao acessá-lo através desse URL.

Em outras palavras, você não pode verificar a autenticação da maneira que você está tentando verificar. Apenas include wp-load.php não é suficiente para autenticá-lo.