✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Trabalhando com transitórios e autenticação do WordPress

12

Continuando com o conteúdo do post anterior, é importante considerar também o uso de transientes e autenticação.

Porque há cenários em que os usuários são autenticados em um site (pense em uma área somente para membros de um site) e ou não são autenticados no site (como visitantes do site).

Esses tipos de situações estão presentes tanto em blogs quanto em outros sites e aplicativos da web em geral.

Transientes e autenticação do WordPress

Como podemos armazenar informações de usuários para esses usuários? Felizmente, o PHP nos fornece algumas funcionalidades que nos permitem fazer isso sem precisar de APIs do WordPress.

Em última análise, o objetivo que pretendemos alcançar é serializar dados transitórios usando uma chave que usa o ID de um usuário autenticado ou não autenticado.

E aqui está como fazer cada um deles.

A API do WordPress

Supondo que um usuário esteja autenticado com o WordPress, podemos usar a função get_current_user_id. É simples também.

Da referência de código:

Obter o ID do usuário atual

Podemos então usar essa função no construtor para definir uma propriedade que armazena o ID do usuário. E eu vou mostrar o código para isso momentaneamente, mas e a situação quando um usuário não está logado?

A API PHP

Quando se trata de armazenar informações de usuários não autenticados, ainda precisamos de uma maneira de identificá-los. Isso pode ser feito de várias maneiras usando vários valores mantidos pelo PHP para anexar à chave transitória.

Lembre-se, a chave deve ser exclusiva e, desde que seja exclusiva para o usuário no site, deve ser boa.

Duas funções que o PHP oferece são:

No que diz respeito ao segundo, ele não funcionará usando o IIS ou qualquer servidor baseado em Windows. Mas estou mencionando aqui como outra alternativa para hosts que são baseados em *nix (já que muitos são, especialmente no que diz respeito ao WordPress).

A função get_current_user é clara o suficiente:

Obtém o nome do proprietário do script PHP atual

Há algo mais a ser observado no manual também. Ele afirma explicitamente que “[retorna] o nome do proprietário do script PHP atual".

Trabalhando com transitórios e autenticação do WordPress

Além disso, get_current_user também pode não ser o que você está procurando, dependendo de como o servidor está configurado e qual usuário é o ‘proprietário’ do script PHP que está sendo executado no servidor.

Mas basta dizer que para este exemplo funciona. E aqui está o porquê: O ponto que estou tentando demonstrar é como usar valores que são exclusivos para um visitante que não está autenticado em um site para gerar uma chave da qual podemos extrair informações.

Como a chave é gerada é secundária ao código real.

Combinando tudo junto

Então, como é o código se formos aproveitar as funções acima? Ou seja, se mantivermos uma propriedade que contém o ID do usuário e depois fizer isso para usuários autenticados e não autenticados?

Talvez isso :

E isso lhe dará a funcionalidade necessária para criar um ID de usuário exclusivo para usuários autenticados e não autenticados.

E as chaves transitórias?

Sim – parte do que estamos discutindo é a criação de chaves transitórias exclusivas também.

Para fazer isso, achei fácil concatenar o ID do usuário que geramos acima e anexá-lo à chave usada ao serializar um transiente.

Por exemplo :

Então, com o valor que esta função retorna, podemos usá-lo para salvar os dados como transitórios usando chaves exclusivas.

Ainda outras opções

Como mencionado, simplesmente usar recursos embutidos no PHP pode não ser o caminho certo a seguir. Mas isso não significa que não existam outros valores que forneçam um valor exclusivo para o que você precisa.

Em casos como esse, é importante identificar como você deseja identificar seu usuário, qual sistema operacional ele está usando e qual conta de usuário possui o aplicativo.

Se isso não fornecer uma configuração única o suficiente (e é muito provável que não seja sob certas condições), o princípio ainda se aplica – você só precisará trocar a chamada funcional get_current_user() por algo que funcione melhor para vocês.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação