Campos de entrada personalizados na administração – meta caixas personalizadas

Alguns dias atrás, tivemos outra reunião de entusiastas do WordPress – desenvolvedores em Košice . Nos encontramos no Halmi caffe , desta vez também com o tema “Custom meta boxes”.

Analisamos três maneiras de criar seus próprios campos de entrada na administração do WP e adicionamos algumas de nossas próprias experiências, tipos e geradores durante a discussão. Começamos com o uso de funções clássicas do WordPress e uma descrição na documentação, continuamos com demonstrações baseadas nos campos personalizados avançados e plugins CMB2. Alguns códigos fonte no final do artigo 😉

Esses campos de entrada podem ser usados para valores especiais que queremos processar e exibir na página, no artigo, perfil, produto, etc.

De acordo com a documentação do WordPress

Em sua essência, o WordPress possui ótimos recursos que nos permitem personalizá-lo ao nosso gosto. Um deles é add_meta_box() , que usamos para criar nosso próprio campo de entrada.

add_meta_box()

De acordo com os parâmetros inseridos, podemos especificar em qual parte da edição da postagem o campo de entrada deve ser localizado e também para qual tipo de postagem será usado (artigo, página, perfil ..). No entanto, a função apenas criará um campo para nós. Você ainda precisa salvar seu valor cada vez que salvar a postagem e carregá-la quando tentar editá-la. Fomos inspirados pela solução abrangente, que encontramos nos comentários abaixo da documentação.

O valor deste campo de entrada é armazenado no banco de dados na tabela postmeta (ou usermeta , etc., dependendo do tipo de post) em uma linha juntamente com o ID do post e a meta-chave (usada para distinguir vários tipos de valores para um posto).

Para processamento adicional ou exibição direta do valor na página, recuperamos esse valor do banco de dados usando a função get_post_meta() .

get_post_meta()

Especificamente, por exemplo, como segue:

<?php echo get_post_meta( get_the_ID(), '_my_meta_value_key', true ); ?>

Resultado da amostra por página:

 

Usando o plug-in Campos personalizados avançados

Este plugin tem a vantagem de ser possível clicar literalmente nos campos de entrada em sua interface.

Advanced Custom Fields

Outra vantagem é a extensa documentação e sem a necessidade de longas programações podemos criar campos de entrada para a galeria, mapa, data e hora, etc.

No entanto, exagera um pouco no banco de dados. Ao definir primeiro os campos de entrada nele, ele os salva como posts (na tabela de posts ) e depois armazena os valores (por exemplo, a posição do campo de entrada na edição) no postsmeta . Ao salvar as edições da página, ele nos economizou mais duas linhas no banco de dados para um campo de entrada. Quando a revisão foi salva automaticamente, havia mais duas.

Não usamos então a função clássica do WP (get_post_meta) para exibir o valor, mas sim a função do plugin, por exemplo:

<?php the_field('acf1'); ?>

De acordo com a documentação, também podemos usar shortcode e exibir valores no texto do artigo.

Usando o plug-in CMB2

Este plugin não tem mais configurações de “clique” como estamos acostumados.

CMB2

Ele contém classes e objetos pré-construídos que podem ser usados para criar campos de entrada personalizados que tornam a escrita de código muito mais fácil. Encontramos extensa documentação para isso, e assim como o ACF, facilita a criação de campos para diferentes tipos de valores (data, hora, cor, etc.).

Gostaria de chamar a atenção para a possibilidade de adicionar outro editor de texto em combinação com um repetidor (grupo), para que possamos distinguir partes do texto na página, posteriormente alterar sua ordem e afins. Outras extensões disponíveis gratuitamente para este plugin também estão disponíveis.

Ele armazena valores no banco de dados usando uma linha e usa a clássica função WP para seu processamento (exemplo):

<?php echo get_post_meta( get_the_ID(), '_yourprefix_text', true ); ?>

Geradores

 

Esses são alguns dos geradores mencionados na reunião. Eles geram código que funciona com funções básicas do WP, sem plugins adicionais.

Exemplo de código usado para meetupe

Os pacotes incluem:

  • plugin, no qual há exemplos de funções clássicas do WP e uso do CMB2 (para funcionalidade correta é necessário o plugin CMB2 ativado)
    • basta ativar o plugin e os novos campos de entrada aparecerão na edição da página
  • tema “teste”, que é um tema derivado do Twentyfifteen (para o funcionamento adequado é necessário ter o tema Twentyfifteen instalado)
    • contém modelos de página com códigos para exibir valores armazenados

teste-modelo.zip

funções-extensões.zip

 

 

Was this article helpful for you? Support me by sharing, please. 👍
WordPress Návod v PDF

LEAVE A REPLY

Please enter your comment!
Please enter your name here