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

Uma função auxiliar para avisos administrativos

29

Se você está no negócio de construir plugins, ou mesmo temas, e está incorporando práticas orientadas a objetos em seu trabalho, então você provavelmente se depara com algum tipo de serialização. E um dos aspectos da serialização é que requer algum tipo de feedback para o usuário.

Esta pode ser uma mensagem de sucesso, uma mensagem de falha ou uma mensagem simplesmente avisando o usuário de que algo deu errado ou talvez algo deva ser atualizado.

Seja qual for o caso, o WordPress oferece todas as facilidades que precisamos; no entanto, podemos facilitar ainda mais para nós mesmos escrevendo uma função auxiliar para avisos de administração. É simples também.

Avisos administrativos: uma função auxiliar

Quando se trata de escrever avisos de administração, é importante familiarizar-se com o gancho apropriado.

A partir daí, você também precisa saber os seguintes nomes de classe:

  • aviso-erro
  • aviso-sucesso
  • aviso-aviso
  • aviso-informações

Com isso, é possível escrever uma função auxiliar que use o gancho acima e uma função anônima (ou um closure) para conseguir exatamente o que você precisa. Mas primeiro observe o seguinte:

Funções anônimas, também conhecidas como closures, permitem a criação de funções que não possuem nome especificado. Eles são mais úteis como o valor dos parâmetros de retorno de chamada, mas têm muitos outros usos.

Com isso dito, você deve ter tudo o que precisa para escrever seu ajudante e ter uma ideia de quando esvaziá-lo.

Primeiro, a função auxiliar:

<?php

/**
 * Provides an easy eay to display an administration notice based on the incoming
 * class and message.
 *
 * @param string $class   the class to add to the notice (warning, error, success)
 * @param string $message the message to display in the administration notice area
 */
protected function displayAdminNotice($class, $message)
{
    add_action(
        'admin_notices',
        function() use ($class, $message) {
            printf(
                '<div class="%1$s"><p>%2$s</p></div>',
                esc_attr($class),
                esc_html($message)
            );
        }
    );
}

Em seguida, digamos que a solicitação que está sendo feita contém dados inválidos. Para lidar com isso, você usaria o auxiliar acima como o seguinte:

<?php

if (!$this->hasValidInput()) {
    $this->displayAdminNotice(
        'notice notice-error',
        'You must specify a valid email address and license key.'
    );
}

Por outro lado, digamos que tudo funcione bem:

<?php

if (update_option('acme-option', $values)) {
    $this->displayAdminNotice(
      'notice notice-success',
      'The options were updated successfully!'
  );
}

Como você pode ver, essa função usa ganchos nativos do WordPress, recursos do PHP e também cria um método que pode ser testado por unidade, o que importa se você deseja escrever aplicativos da Web testáveis ​​no WordPress.

E mesmo que não, você tem uma maneira mais fácil de manter seu código um pouco mais DRY do que antes.

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