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

Opções temporárias no WordPress: nossa melhor opção?

21

Quando se trata de programação, a ideia de valores temporários ou variáveis ​​temporárias ou qualquer forma de armazenar dados temporariamente na memória não é novidade.

Mas ao trabalhar com o WordPress – que é sem estado – nem sempre temos esse luxo. Ou seja, não é simplesmente uma questão de, digamos, jogar algo na sessão atual, lê-lo e removê-lo quando terminarmos.

E é aí que tenho pensado cada vez mais na ideia de opções temporárias, por falta de um termo melhor, é claro. Ou seja, sempre que eu precisar armazenar um valor de um único carregamento de página, ou solicitação, para ler em outro carregamento de página, ou outra solicitação, lançarei temporariamente o valor na tabela de opções.

Opções temporárias: um exercício e representação via esboço rudimentar

Isso é desleixado? Pode ser. Temos muitas outras opções? Depende de quanto da tecnologia de navegador moderno queremos usar. Esse não é o objetivo deste post, no entanto.

O ponto é que, devido à maneira como o WordPress funciona, eu me pergunto se nossa atual e melhor estratégia para manter os valores temporários mais amplamente suportados nas instalações é adicionar temporariamente um valor à tabela de opções, lê-lo e excluí-lo assim que for foi recuperado?

Nossas opções para opções temporárias

Pessoalmente, não tenho uma opinião forte sobre se isso é uma coisa ruim ou não. Se for a natureza de como funciona a base sobre a qual estou trabalhando em uma solução, então irei com ela.

Então, primeiro, é assim que eu normalmente faço isso no WordPress:

1 Criando uma opção temporária

Primeiro, configurei uma função que está ligada a update_option. Isso permite ver a opção que está sendo atualizada, seu valor antigo e seu novo valor.

<?php

public function init() {

    add_action(
        'update_option',
        array( $this, 'manage_temporary_option' ),
        10, 3
    );
}

Na função, posso olhar e ver se uma opção específica está sendo salva. Se não, então posso simplesmente ignorá-lo; caso contrário, posso dar uma olhada e começar a trabalhar com uma opção temporária.

<?php

public function manage_temporary_option( $option_name, $old_value, $new_value) {

    if ('an_irrelevant_option' !== $option_name) {
        return;
    }

    $url = 'page-from-which-we-expect-to-come.php';
    if ($url === $_SERVER['REQUEST_URI']) {

        update_option(
            'our_temporary_option',
            $new_value
        );
    }
}

Mas qual seria a opção temporária?

2 Uma opção para opções temporárias

Digamos que você tenha uma opção em um plug-in que seja alternada. Talvez exija que o usuário insira algumas informações antes de percorrer o restante de um processo.

Caso em questão: digamos que você esteja trabalhando em uma experiência de checkout e queira forçar os usuários a criar uma conta, mas há uma opção que permite que os clientes façam checkout sem criar uma conta.

Uma implementação que poderíamos usar é esta:

  1. Antes que a página de checkout seja carregada, verifique se o usuário pode efetuar o checkout como convidado.
  2. Em caso afirmativo, armazene o valor original da opção em uma opção temporária.
  3. Altere o valor original para que exija que eles criem uma conta.
  4. Feito o processo de checkout, copie o valor da opção temporária para a opção original.
  5. Exclua a opção temporária.

É semelhante a todo o exercício em C quando você precisa de um ponteiro para trocar dois números (para quem se lembrar ou para quem fez isso).

Nossa melhor opção?

O processo descrito acima é apenas um exemplo e não pretende ser a forma definitiva de manter valores temporários. Em segundo lugar, o exemplo de checkout não pretende associar esta postagem ao comércio eletrônico.

Em vez disso, pretende fornecer um caso de uso concreto para quando armazenar opções temporárias é útil e como podemos querer fazê-lo.

Portanto, a pergunta original permanece: Dada a maneira como o WordPress funciona, a falta de sessões e sem a garantia de certos recursos do navegador, como localStorage, as opções temporárias na tabela de opções são o melhor caminho a seguir?

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