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

Widgets do WordPress: Refatoração, Parte 5

14

No post anterior, criamos um Registro que será usado para armazenar todas as várias classes responsáveis ​​por dar funcionalidade ao nosso widget.

Para fazer isso, haverá uma variedade de outras classes introduzidas, mas antes de ir para lá, precisamos adicionar o Registro ao bootstrap do plugin (quanto mais criar um bootstrap para o plugin).

Especificamente, aqui é onde paramos:

Como mencionado anteriormente no post, precisamos adicionar isso ao bootstrap do plugin. Para fazer isso, porém, precisamos definir nosso próprio filtro para que possamos passar facilmente o registro pelo resto do plugin (quando chegar a hora de fazer isso).

Então, neste post, vamos nos concentrar em fazer exatamente isso.

The WordPress Widget Boilerplate: Refatoração, Parte 5

Se você tem acompanhado a série até este ponto, então você deve estar em uma boa posição especificamente para adicionar o Registro para que tenhamos acesso a ele em todo o plugin.

Para fazer isso, porém, pressupõe-se que você saiba definir seus filtros. No WordPress, usamos ações e filtros o tempo todo.

A coisa sobre esses ganchos é que eles já estão definidos, no entanto. Então, como definimos nosso filtro?

Vamos dar uma olhada em fazer exatamente isso.

1 Definindo nosso filtro

Primeiramente, precisamos entender alguns conceitos:

  • o que é um filtro,
  • como adicionar um filtro,
  • como introduzir nosso registro no filtro
  • como recuperar a classe do filtro.

Felizmente, todos os itens acima são fáceis de explicar.

O que é um Filtro?

Simplificando, os ganchos nos permitem chamar o WordPress em momentos específicos durante a execução do programa. As ações geralmente são reservadas para o comportamento; Os filtros são reservados para dados.

Além disso, os filtros nos permitem trabalhar com dados específicos na aplicação – podem ser dados pré-existentes ou até mesmo dados novos. E no nosso caso, será a classe Registry que contém referências a outros dados.

Adicionando um filtro

Adicionar um filtro é fácil. Tem três partes para isso:

  1. chamando add_filter ,
  2. definir um identificador exclusivo para o filtro,
  3. passando informações para o filtro que podem ser retornadas sempre que forem chamadas.

Para nós, vou identificar nosso registro como o filtro wpWidgetRegistry. Observe, no entanto, que é importante que você escolha um nome exclusivo para sua implementação, pois se não o fizer, poderá acabar com colisões com outros dados se outro plug-in usar o mesmo identificado.

Widgets do WordPress: Refatoração, Parte 5

De qualquer forma, adicionar um filtro realiza uma tarefa simples:

Conecte uma função ou método a uma ação de filtro específica.

Isso significa que precisamos definir um método com nosso ID. Devido à natureza do PHP, não precisamos usar uma função separada.

Widgets do WordPress: Refatoração, Parte 5

Em vez disso, podemos usar uma função anônima.

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.

A função anônima que vamos definir aceitará uma referência ao plugin como argumento e a retornará sempre que o filtro for chamado (o que será mostrado mais adiante neste artigo).

Passando informações para o nosso filtro

Agora que temos tudo isso coberto, podemos passar pelo processo de criação de uma instância do nosso Registro, definindo um filtro e, em seguida, adicionando o registro, para que fique acessível em todo o aplicativo.

Portanto, dentro do arquivo principal do plugin, que é o arquivo wordpress-widget-boilerplate.php, adicionamos as seguintes linhas de código :

<?php

namespace WordPressWidgetBoilerplate;

use WordPressWidgetBoilerplateUtilitiesRegistry;

// More to come...

O acima declara o namespace no qual o Registro reside. Em seguida, adicionamos o seguinte bloco de código abaixo do autoloader:

<?php

// Setup a filter so we can retrieve the registry throughout the plugin.
$registry = new Registry();
add_filter('wpWidgetRegistry', function() use ($registry) {
    return $registry;
});

Observe que quando você pretende ativar o plug-in, ele não será ativado e gerará um erro. Isso é por causa da falta de um autoloader que será discutido no próximo post.

2 Recuperando Nosso Registro

Como o registro é definido no bootstrap do plugin e é feito através do uso de um filtro, podemos acessar o registro em qualquer lugar do nosso plugin chamando nosso filtro personalizado.

Por exemplo, digamos que estamos em outra classe e precisamos obter uma referência ao registro. Para fazer isso, podemos fazer esta chamada :

<?php

// Retrieve the registry anywhere in the plugin.
$registry = apply_filters('wpWidgetRegistry', null);

E é isso. Fácil, certo? Desde que tudo tenha sido devidamente adicionado ao registro – o que será abordado em breve – poderemos acessar todos eles através dos identificadores exclusivos que usamos no post anterior.

O carregador automático

Agora estamos começando a usar namespaces e outras classes. Isso significa que precisaremos usar carregadores automáticos.

Então, antes de começarmos a refatorar a classe inteira como ela está agora, vamos fazer um pequeno desvio em alguns dos recursos do Composer para ver como ele é usado para gerar um autoloader (além das coisas que já estamos usá-lo para lidar com a qualidade do nosso código-fonte).

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