Custom fields sem ACF


(Fabio Almeida) #1

Boa tarde!

Comecei recentemente a trabalhar com Wordpress e estou me deparando com algumas facilidades que não conhecia, entre elas está o ACF Pro.

O que me incomoda um pouco é a autonomia que o usuário final tem para criar/modificar/excluir custom fields que influenciam no funcionamento do site.

Alguém conhece algum plugin que fornece apenas as funções com as funcionalidades parecidas com ACF Pro, principalmente relacionadas ao repeater?

Grato!


(Nick Lima) #2

Fábio, existe um plugin (https://github.com/rilwis/meta-box) que eu utilizo fazendo a inserção dele através do function.php e não como plugin.

Prefiro dessa forma pois desenvolvo cada projeto de acordo com as necessidades do cliente. O único ponto que acho que precisa ser visto é que você tem que criar os campos no braço (no código) e isso pode desestimular alguns devs.

Como eu disse, prefiro fazer dessa forma pois faço cada projeto de forma personalizada. Se tiver interesse, testa o código do Rilwis e se tiver problemas em integrar o código ao seu tema, dá um grito que eu dou uma força.

Abraço e boa sorte.


(Rick Benetti) #3

Da mesma forma que o @Nick comentou existe também esta classe: https://github.com/jjgrainger/wp-custom-post-type-class basta um require no functions pra ela e é super simples de usar.

Alias ainda prefiro assim do que usar o ACF.


(Nick Lima) #4

@rkb81, essa Class cria os metaboxes? Pelo que vi ele é bem útil pra criar os custom posts com taxonomia, colunas customizadas e agilizar o Register Post Type.

Achei bem legal e pretendo fazer alguns testes depois e ver se incorporo essa Class
ao meu método de desenvolvimento. #Partiu dar um Fork no repositório :smiley:


(Rick Benetti) #5

@Nick estava caçando outra class que fazia tudo pois é a que uso em meus projetos, como faz tempo que não usava tinha até me esquecido da URL correta, acredito que esta vá ajuda mais:

https://github.com/JeffreyWay/Easy-WordPress-Custom-Post-Types

Ele permite a criaçãod e CPTs, Taxonomias e Metabox muito fácil, a parte de colunas acredito também que não seja problema.


(Nick Lima) #6

Olá @rkb81, dei uma olhada e achei bem legal. Porém me surgiram algumas dúvidas:

Quais os tipos de campos ele cria nos metaboxes?
Ele permite replicar um custom field?

Você usou ele de que forma? Apenas para campos simples ou fez coisas mais diferenciadas?

O interessante do código que passei é que tem diversos tipos de campos, como:
Data (com calendário), imagens, upload, select (simples e advanced), radio button e checkbox, um outro tipo de select que pega os posts cadastrados (inclusive de CPTs) e opção de repetir alguns campos.

Acredito que isso tem que ser levado em conta já que o @fabio quer uma solução tão boa quanto o ACF :wink:
A discussão tá ficando interessante... Vamos esperar o Fábio dar mais detalhes do que ele precisa/quer.

Abraço


(Fabio Almeida) #7

Muito obrigado a todos, vi aqui ótimas sugestões. E @Nick acertou em cheio. Ainda não tive tempo de testar, mas pelo que vi na documentação, é o que estava procurando. Algo produtivo e aparentemente simples de usar.

Quanto aos custom posts achei bem fácil de se criar, incluindo as taxonomias. Pensaria muito antes de utilizar um plugin para essa finalidade.

E se for analisar, nem mesmo os custom fields são difíceis de criar. O que não acho prático, é criar itens com repetidor e uploads de imagens.

Mais uma vez agradeço a todos! Abraço!


(Nick Lima) #8

Boa @fabio. Se tiver alguma dificuldade, manda uma mensagem que se eu puder, te dou uma força.


(André Mácola Machado) #9

ACF Pro é um dos únicos plugins para wordpress que utilizo.

Existe a possibilidade de ocultar o ACF do admin e criar os fields via json ou php dentro da própria pasta do tema, com isso não há necessidade de usar a interface dele, e caso utilize o tema em uma network, o json é sincronizado automaticamente.

Além da vantagens dos HOOKS do acf para customização dos FIELDS e a facilidade de retorna-los no tema.

Já montei desde sistemas financeiros dentro do Wordpress à um "montador" de sites com o ACF hehe.

Hoje em dia eu meio que já tenho um "framework" pessoal do Wordpress para meus projetos. Recomendo o site https://generatewp.com/ tanto para iniciantes quando para devs avançados do wordpress. Ele gera um código bem limpo para criação de Post Types, Taxonomies, Menu.. etc etc etc..


(Leo Baiano) #10

Uma dica, evite criar usuários com permissão de administração para o usuário final. Normalmente crio usuários do tipo editor, eles possuem acesso aos menus de conteúdo (posts, CPT, páginas...) mas não possuem acesso a outros menus mais ligados a funcionalidade do site.

Não tenho certeza, mas acho que editores não possuem acesso ao ACF.


(André Mácola Machado) #11

N tem, mas o que eu faço é ocultar ele do Admin quando vai pra produção.


(Vitor Melo) #12

Olá Fábio, eu tive esse mesmo problema que você no início, realmente o ACF é um plugin que vale apena ser comprado tranquilamente. Eu utilizo a versão Pro, a minha solução foi na criação de perfis para os usuários, no meu caso, eu era administrador e os demais eram editores ou autores.

Utilizando o functions.php do tema eu determinei um estilo com display:none, para o menu em questão que eu queria que os demais usuários não conseguissem visualizar. Use o inspetor do Chrome ou Firefox para descobrir qual elemento você deseja esconder, geralmente o ACF utiliza IDs para o grupo de campos personalizadosSegue um exemplo:

function custom_admin_css() {
  echo
  "<style>
     /* Estilo para todos os perfis */
  </style>"

  // Estilo somente para usuários com perfil de Author
  if (current_user_can( 'author' )) {
    echo
    "<style>
      /* Esconder Sidebar */
      #acf-group_549ecaf9be796 {
        display: none;
      }
    </style>"
  }
}

Esses são os tipos de perfis disponíveis, daí é só colocar um if para diferenciar para cada um.

if( current_user_can( 'administrator' ) ){} // somente administrator
if( current_user_can( 'editor' ) ){}        // somente editor
if( current_user_can( 'author' ) ){}        // somente author
if( current_user_can( 'contributor' ) ){}   // somente contributor
if( current_user_can( 'subscriber' ) ){}    // somente subscriber

Essa solução só funciona no caso do uso de perfis, infelizmente eu não sei como bloquear para apenas um usuário em específico. Recomendo também caso você utilize os perfis, dá uma olhada no plugin User Roler Editor, esse plugin sim, pode bloquear algumas ações específicas para grupos ou determinado tipo de usuário.

https://wordpress.org/plugins/user-role-editor/

Lembrando também, que o próprio ACF tem seu conjunto de regras dependendo do perfil utilizado.


(Amanda Dias Pais) #13

Oi @andremacola!
Também gosto muito do ACF, mas sou ainda uma iniciante nesse mundo..rsrs
Você sabe se é possível replicar dados de um field? Por exemplo, tenho um repeater configurado dentro de um plugin, que tem várias tarefas (que ficam dentro de um post) e cada uma delas contem este repeater que é inserido informações distintas. Entretanto, inseri o mesmo repeater neste post e gostaria que ele tivesse as informações inseridas no repeater de cada tarefa. Ou seja, constasse nele as réplicas de cada repeater de cada tarefa. É muito confuso? Eu estou querendo algo muito louco? Será que é possível?

Sei que o tópico foi discutido há um ano, mas é que venho procurando esta informação há algum tempo e gostaria de aproveitar que trata-se do mesmo tema.

Desde já, muito obrigada e desculpe-me qualquer coisa! :slight_smile: