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.
Obsah
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.
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() .
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.
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.
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.
- WordPress Meta Box Generator v2 Beta
- Gerador apressado (chegando em julho de 2017)
- GenerateWP (disponível em uma versão expandida)
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
Was this article helpful for you? Support me by sharing, please. 👍