SlideShare a Scribd company logo
1 of 55
Download to read offline
Manipulando dados com o ACF
WordPress Meetup Rio de Janeiro
Novembro de 2018
Foto por Max Felner
Rudá Almeida
Integrante da equipe de Tecnologia da Informação da UFRJ
Entusiasta do WordPress e integrante da comunidade carioca
Palestrante, voluntário e co-organizador de Meetups e WordCamps
Manipulando dados com o ACF
WordPress Meetup Rio de Janeiro
Novembro de 2018
Como manipular dados
usando Advanced
Custom Fields
O que são dados?
Definição formal
“Informações descrevem um domínio
físico ou abstrato. Dado é tudo aquilo
que pode ser processado.”
Gadomski, 1993
Dados nativos no WordPress
Principais tipos de dados nativos
Tipos de publicações
● Posts
● Páginas
Principais tipos de dados nativos
Tipos de publicações
● Posts
● Páginas
Tipos de metadados
● Título
● Autor
● Data e hora de publicação
● Imagem de destaque
Dados nativos no WordPress
Os tipos de dados nativos que
o WordPress oferece por
padrão podem não ser os mais
adequados para o seu projeto.
Um exemplo
Tipo de conteúdo: Livro
● Título
● Autor
● Data de lançamento
● Imagem da capa
● Editora
● Tema
● Quantidade de páginas
● Peso
● Dimensões
● Arquivo de e-book
Tipo de conteúdo: Livro
● Título
● Autor
● Data de lançamento
● Imagem da capa
● Editora
● Tema
● Quantidade de páginas
● Peso
● Dimensões
● Arquivo de e-book
Dados nativos no WordPress
Tipos de publicações
● Posts
● Páginas
● Custom Post Types
Tipos de metadados
● Título
● Autor
● Data e hora de publicação
● Imagem de destaque
Dados nativos no WordPress
Tipos de publicações
● Posts
● Páginas
● Custom Post Types
Tipos de metadados
● Título
● Autor
● Data e hora de publicação
● Imagem de destaque
● Custom Fields
Custom Fields nativos
Custom fields nativos
Apesar do WordPress já oferecer a funcionalidade de campos
personalizados (custom fields) de forma nativa, seu uso é
complexo tanto para quem desenvolve o site quanto,
principalmente, para quem alimenta o conteúdo.
● Não é intuitivo
● Sujeito a erros
● Sem validação
● Somente texto / literal
● Apenas Posts e CPTs
● Sem condicionais
● Interface muito limitada
● Precisa ser ativado em
cada tipo de conteúdo
Obtendo o valor de um campo
Campos personalizados nativos
$meta = get_post_meta( get_the_ID() );
if (!empty($meta))
$campo = $meta['nome_do_campo'];
if (!empty($campo))
foreach($campo as $valor)
echo $valor;
// Outra maneira
$primeiro_valor = get_post_meta(
get_the_ID(), 'nome_do_campo', true );
Advanced custom fields
$valor = get_field( "nome_do_campo"
);
Criando opções do tema
Options API
add_action('admin_menu',
'option_page_servicos_externos');function
option_page_servicos_externos() { add_options_page( 'Serviços
externos', 'Serviços externos', 'edit_pages',
'servicos_externos', 'options_page'); add_action( 'admin_init',
'register_settings' );} function register_settings() {
register_setting( 'youtube_group', 'youtube_playlist_id' );
register_setting( 'youtube_group', 'youtube_channel_url' );}
function options_page() {?><div class="wrap"><h1>Vídeos do
YouTube</h1><form method="post" action="options.php"> <?php
settings_fields( 'youtube_group' ); ?> <?php
do_settings_sections( 'youtube_group' ); ?> <table
class="form-table"> <tr valign="top"> <th scope="row">ID da
Playlist</th> <td><input type="text" name="youtube_playlist_id"
value="<?php echo esc_attr( get_option('youtube_playlist_id') );
?>" /></td> </tr> <th scope="row">URL do canal</th> <td><input
type="text" name="youtube_channel_url" value="<?php echo
esc_attr( get_option('youtube_channel_url') ); ?>" /></td> </tr>
</table> <?php submit_button(); ?></form></div><?php }
Advanced custom fields
acf_add_options_page();
Advanced Custom Fields
Advanced Custom Fields
Advanced Custom Fields
permite manipular dados tanto através da
interface administrativa quanto de funções
em PHP de maneira simplificada,
agilizando o desenvolvimento e a
utilização da plataforma.
Advanced Custom Fields
A grosso modo, é quase um “builder” para
o painel do WordPress, criando nas telas
de composição de conteúdo áreas extras
onde serão encaixados blocos flexíveis e
de extensa personalização.
Tipos de campos do ACF
Tipos básicos
Múltipla escolha
Conteúdo
Conteúdo (cont.)
jQuery
Repetidor
Relacional
Validação
Validação no front-end
Validação no back-end
add_filter('acf/validate_value/name
=numero', function ($valid, $value,
$field, $input) {
if ($value%2)
return 'Somente números
pares!';
return $valid;
}, 10, 4);
Exibição condicional
Exibição condicional de um campo
Exibição condicional de um grupo
Versionamento
Versionando via PHP
if( function_exists('acf_add_local_field_group') ):
acf_add_local_field_group(array(
'key' => 'group_5bfc72339289b',
'title' => 'Básico',
'fields' => array(
array(
'key' => 'field_5bfc7393f71fb',
'label' => 'Área de Texto',
'name' => 'area_de_texto',
'type' => 'textarea',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array(
'width' => '',
'class' => '',
'id' => '',
),
'default_value' => '',
'placeholder' => '',
'maxlength' => '',
'rows' => 3,
'new_lines' => '',
),
// (...)
Versionando via JSON
[
{
"key": "group_5bfc72339289b",
"title": "Básico",
"fields": [
{
"key": "field_5bfc7393f71fb",
"label": "Área de Texto",
"name": "area_de_texto",
"type": "textarea",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"maxlength": "",
"rows": 3,
"new_lines": ""
},
VAMOS VER NA PRÁTICA?
Observações
Nem tudo é perfeito...
● Funcionalidades como repetidor, galeria, página de opções e
conteúdo flexível são exclusividades da versão paga.
● A versão paga é barata, com licença vitalícia para sites ilimitados.
● O ACF é “apenas” um front-end para os custom fields nativos.
● Os dados não estão associados aos posts, e sim aos custom fields.
● Jamais altere o nome ou tipo dos campos quando já existe conteúdo,
ou estes dados serão perdidos >_<”
OBRIGADO!
“ONE LAST THING…”
PERGUNTAS?

More Related Content

What's hot

Seminário de Língua Inglesa- Roteiro do trabalho
Seminário de Língua Inglesa- Roteiro do trabalho  Seminário de Língua Inglesa- Roteiro do trabalho
Seminário de Língua Inglesa- Roteiro do trabalho SHEILA MONTEIRO
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Aula: Gerações de interfaces
Aula: Gerações de interfacesAula: Gerações de interfaces
Aula: Gerações de interfacesJanynne Gomes
 
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoPostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoAmbiente Livre
 
Bd04 banco de dados - my sql - exercicio
Bd04 banco de dados - my sql - exercicioBd04 banco de dados - my sql - exercicio
Bd04 banco de dados - my sql - exercicioSilvano Oliveira
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetosSliedesharessbarbosa
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Leinylson Fontinele
 
Introdução a linguagem Swift
Introdução a linguagem SwiftIntrodução a linguagem Swift
Introdução a linguagem SwiftGabriel Rodrigues
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Estratégias de pesquisa simples na internet
Estratégias de pesquisa simples na internetEstratégias de pesquisa simples na internet
Estratégias de pesquisa simples na internetMaria Romão
 

What's hot (20)

Seminário de Língua Inglesa- Roteiro do trabalho
Seminário de Língua Inglesa- Roteiro do trabalho  Seminário de Língua Inglesa- Roteiro do trabalho
Seminário de Língua Inglesa- Roteiro do trabalho
 
Introdução APIs RESTful
Introdução APIs RESTfulIntrodução APIs RESTful
Introdução APIs RESTful
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Aula: Gerações de interfaces
Aula: Gerações de interfacesAula: Gerações de interfaces
Aula: Gerações de interfaces
 
Avaliação inglês 3 a
Avaliação inglês 3 aAvaliação inglês 3 a
Avaliação inglês 3 a
 
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com PentahoPostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
PostgreSQL em projetos de Business Analytics e Big Data Analytics com Pentaho
 
UX - Entregaveis
UX - EntregaveisUX - Entregaveis
UX - Entregaveis
 
TECLADO.pdf
TECLADO.pdfTECLADO.pdf
TECLADO.pdf
 
Bd04 banco de dados - my sql - exercicio
Bd04 banco de dados - my sql - exercicioBd04 banco de dados - my sql - exercicio
Bd04 banco de dados - my sql - exercicio
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Introdução ao CSS
Introdução ao CSSIntrodução ao CSS
Introdução ao CSS
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetos
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Introdução a linguagem Swift
Introdução a linguagem SwiftIntrodução a linguagem Swift
Introdução a linguagem Swift
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Estratégias de pesquisa simples na internet
Estratégias de pesquisa simples na internetEstratégias de pesquisa simples na internet
Estratégias de pesquisa simples na internet
 

Similar to Manipulando dados no Wordpress com o ACF

Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPressHaste Design
 
Turbinando o WordPress com Meta Boxes
Turbinando o WordPress com Meta BoxesTurbinando o WordPress com Meta Boxes
Turbinando o WordPress com Meta BoxesWordPress Floripa
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Wordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoWordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoiMasters
 
Wordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoWordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoRicardo Zein
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 
Redu walled garden
Redu walled gardenRedu walled garden
Redu walled gardenGuilherme
 
WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14Tatiane Pires
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend FrameworkJaime Neto
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Leo Baiano
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 

Similar to Manipulando dados no Wordpress com o ACF (20)

Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPress
 
Turbinando o WordPress com Meta Boxes
Turbinando o WordPress com Meta BoxesTurbinando o WordPress com Meta Boxes
Turbinando o WordPress com Meta Boxes
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Grails
GrailsGrails
Grails
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Wordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoWordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimento
 
Wordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimentoWordpress como framework de desenvolvimento
Wordpress como framework de desenvolvimento
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Redu walled garden
Redu walled gardenRedu walled garden
Redu walled garden
 
WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14
 
Android Firebase
Android FirebaseAndroid Firebase
Android Firebase
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend Framework
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 

Manipulando dados no Wordpress com o ACF

  • 1. Manipulando dados com o ACF WordPress Meetup Rio de Janeiro Novembro de 2018 Foto por Max Felner
  • 2. Rudá Almeida Integrante da equipe de Tecnologia da Informação da UFRJ Entusiasta do WordPress e integrante da comunidade carioca Palestrante, voluntário e co-organizador de Meetups e WordCamps Manipulando dados com o ACF WordPress Meetup Rio de Janeiro Novembro de 2018
  • 3. Como manipular dados usando Advanced Custom Fields
  • 4. O que são dados?
  • 5. Definição formal “Informações descrevem um domínio físico ou abstrato. Dado é tudo aquilo que pode ser processado.” Gadomski, 1993
  • 6. Dados nativos no WordPress
  • 7. Principais tipos de dados nativos Tipos de publicações ● Posts ● Páginas
  • 8. Principais tipos de dados nativos Tipos de publicações ● Posts ● Páginas Tipos de metadados ● Título ● Autor ● Data e hora de publicação ● Imagem de destaque
  • 9. Dados nativos no WordPress Os tipos de dados nativos que o WordPress oferece por padrão podem não ser os mais adequados para o seu projeto.
  • 11. Tipo de conteúdo: Livro ● Título ● Autor ● Data de lançamento ● Imagem da capa ● Editora ● Tema ● Quantidade de páginas ● Peso ● Dimensões ● Arquivo de e-book
  • 12. Tipo de conteúdo: Livro ● Título ● Autor ● Data de lançamento ● Imagem da capa ● Editora ● Tema ● Quantidade de páginas ● Peso ● Dimensões ● Arquivo de e-book
  • 13. Dados nativos no WordPress Tipos de publicações ● Posts ● Páginas ● Custom Post Types Tipos de metadados ● Título ● Autor ● Data e hora de publicação ● Imagem de destaque
  • 14. Dados nativos no WordPress Tipos de publicações ● Posts ● Páginas ● Custom Post Types Tipos de metadados ● Título ● Autor ● Data e hora de publicação ● Imagem de destaque ● Custom Fields
  • 16. Custom fields nativos Apesar do WordPress já oferecer a funcionalidade de campos personalizados (custom fields) de forma nativa, seu uso é complexo tanto para quem desenvolve o site quanto, principalmente, para quem alimenta o conteúdo. ● Não é intuitivo ● Sujeito a erros ● Sem validação ● Somente texto / literal ● Apenas Posts e CPTs ● Sem condicionais ● Interface muito limitada ● Precisa ser ativado em cada tipo de conteúdo
  • 17.
  • 18.
  • 19. Obtendo o valor de um campo Campos personalizados nativos $meta = get_post_meta( get_the_ID() ); if (!empty($meta)) $campo = $meta['nome_do_campo']; if (!empty($campo)) foreach($campo as $valor) echo $valor; // Outra maneira $primeiro_valor = get_post_meta( get_the_ID(), 'nome_do_campo', true ); Advanced custom fields $valor = get_field( "nome_do_campo" );
  • 20. Criando opções do tema Options API add_action('admin_menu', 'option_page_servicos_externos');function option_page_servicos_externos() { add_options_page( 'Serviços externos', 'Serviços externos', 'edit_pages', 'servicos_externos', 'options_page'); add_action( 'admin_init', 'register_settings' );} function register_settings() { register_setting( 'youtube_group', 'youtube_playlist_id' ); register_setting( 'youtube_group', 'youtube_channel_url' );} function options_page() {?><div class="wrap"><h1>Vídeos do YouTube</h1><form method="post" action="options.php"> <?php settings_fields( 'youtube_group' ); ?> <?php do_settings_sections( 'youtube_group' ); ?> <table class="form-table"> <tr valign="top"> <th scope="row">ID da Playlist</th> <td><input type="text" name="youtube_playlist_id" value="<?php echo esc_attr( get_option('youtube_playlist_id') ); ?>" /></td> </tr> <th scope="row">URL do canal</th> <td><input type="text" name="youtube_channel_url" value="<?php echo esc_attr( get_option('youtube_channel_url') ); ?>" /></td> </tr> </table> <?php submit_button(); ?></form></div><?php } Advanced custom fields acf_add_options_page();
  • 23. Advanced Custom Fields permite manipular dados tanto através da interface administrativa quanto de funções em PHP de maneira simplificada, agilizando o desenvolvimento e a utilização da plataforma.
  • 24. Advanced Custom Fields A grosso modo, é quase um “builder” para o painel do WordPress, criando nas telas de composição de conteúdo áreas extras onde serão encaixados blocos flexíveis e de extensa personalização.
  • 25.
  • 26.
  • 27.
  • 28. Tipos de campos do ACF
  • 38. Validação no back-end add_filter('acf/validate_value/name =numero', function ($valid, $value, $field, $input) { if ($value%2) return 'Somente números pares!'; return $valid; }, 10, 4);
  • 43. Versionando via PHP if( function_exists('acf_add_local_field_group') ): acf_add_local_field_group(array( 'key' => 'group_5bfc72339289b', 'title' => 'Básico', 'fields' => array( array( 'key' => 'field_5bfc7393f71fb', 'label' => 'Área de Texto', 'name' => 'area_de_texto', 'type' => 'textarea', 'instructions' => '', 'required' => 0, 'conditional_logic' => 0, 'wrapper' => array( 'width' => '', 'class' => '', 'id' => '', ), 'default_value' => '', 'placeholder' => '', 'maxlength' => '', 'rows' => 3, 'new_lines' => '', ), // (...)
  • 44. Versionando via JSON [ { "key": "group_5bfc72339289b", "title": "Básico", "fields": [ { "key": "field_5bfc7393f71fb", "label": "Área de Texto", "name": "area_de_texto", "type": "textarea", "instructions": "", "required": 0, "conditional_logic": 0, "wrapper": { "width": "", "class": "", "id": "" }, "default_value": "", "placeholder": "", "maxlength": "", "rows": 3, "new_lines": "" },
  • 45. VAMOS VER NA PRÁTICA?
  • 46.
  • 48. Nem tudo é perfeito... ● Funcionalidades como repetidor, galeria, página de opções e conteúdo flexível são exclusividades da versão paga. ● A versão paga é barata, com licença vitalícia para sites ilimitados. ● O ACF é “apenas” um front-end para os custom fields nativos. ● Os dados não estão associados aos posts, e sim aos custom fields. ● Jamais altere o nome ou tipo dos campos quando já existe conteúdo, ou estes dados serão perdidos >_<”
  • 51.
  • 52.
  • 53.
  • 54.