Portuguese (Português) translation by João Fagner (you can also view the original English article)
Para não-programadores que estão criando um site em WordPress, widgets são uma mão na roda. Eles te permitem adicionar menus, listas, feeds, texto e muito mais nas áreas de widget que não precisa ser limitada à barra lateral. Muitos temas possuem áreas de widget no rodapé e os frameworks de grandes temas muitas vezes tem múltiplas áreas de widget tanto no cabeçalho e antes e depois e do conteudo
Nesta série de cinco partes vou guialo através dos passos necessários para criar seu primeiro widget. A série abrangerá:
- Introdução aos widgets e a API de Widgets
- Codificando e registrando seu widget
- Construindo seu widget
- Criando o formulário para o seu widget
- Exibindo seu widget na área correta do widget
Nesta parte, te apresentarei aos widgets e API Widgets.
Criação de Widgets
Para criar um widget
você precisa estender a classe WP_Widget, que inclui um número de funções:
- uma função para processar o widget
- uma função para exibir um formulário para o widget na tela do painel de Widgets
- uma função que habilita as configurações do widget para serem atualizada pelos usuários.
- uma função para exibir o widget em qualquer área em que ele for adicionado.
Além disso, você pode usar a função register_widget()
para registrar o widget que você criou.
Você pode colocar praticamente tudo o que quiser dentro de um widget - texto estático, saída de uma consulta de banco de dados, um feed de outro site e mais. No entanto é importante lembrar que os usuários esperam que os widgets possam caber em uma área definida na página, então a área de visualização do seu widget não deve ser muito grande.
Wordpress tem um array de widgets dentro dele, então antes de você iniciar sua propria codificação, verifique se ela já não existe no core do Wordpress.
Nesta série, vou criar um widget de um plugin que desenvolvi para um tutorial anterior, sobre a criação de uma navegação contextual da barra lateral. Nesse tutorial eu desenvolvi uma função que os usuários com algum conhecimento de código poderiam usar em seu tema ou anexar a um hook (gancho), mas seria mais fácil para os usuários se eles pudessem adicionar a navegação através de um widget.
API de Widgets
A API de Widgets inclui as funções que você precisará para criar o seu widget. Vamos dar uma olhada em cada um delas.
Em primeiro lugar, há quatro funções do widget:
-
is_active_widget()
: uma tag condicional que verifica se um widget individual é ativo. Não confundi-lo comis_active_sidebar()
, que verifica se os widgets foram adicionados a uma área específica de widget. -
the_widget()
: uma tag de template que exibe um widget fora das áreas de widget. -
register_widget()
: a função para registrar um widget, que eu vou estar usando mais tarde nessa série. -
unregister_widget()
: cancela o registro de um widget, significa que já não está disponível para os usuários através da tela dos Widgets.
Há também cinco funções internas:
-
wp_register_widget_control()
: cria os controles na tela de Widgets para que os usuários possam alterar as configurações do widget. -
wp_unregister_widget_control()
: registra o controle de widget que foi registrado através dewp_register_widget_control()
. -
wp_convert_widget_settings()
: isto converte as configurações do formulário de widget de única instância para multi-widget. -
wp_get_widget_defaults()
: função do core, não deve ser usado pelos desenvolvedores de plugin ou tema. -
wp_widget_description()
: cria uma descrição do widget que será exibida na tela dos Widgets.
Para acessar essas funções internas, você vai fazer uso da classe WP_Widget
. Esta é uma classe construtora, que você pode estender para criar widgets adicionais.
Resumo
Este é um tutorial introdutório, eu espero que tenha aguçado seu interesse para a criação de seus próprios widgets. No próximo tutorial mostrarei como codificar e registrar o seu widget.
Seja o primeiro a saber sobre novas traduções–siga @tutsplus_pt no Twitter!
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post