Open thiagocrepald opened 7 years ago
Olá @thiagocrepald,
Por padrão o Odin não oferece este recurso, mas você pode fazer com um pouco de código. Primeiro passo é saber, como distinguir quais campos devem ser exibidos em cada página? Pelo título? ("Quem somos", "Contato")? Pelo modelo de página selecionado no select de atributos da página? Ou por um campo de opção (uma metabox) que definirá quais outras meta boxes serão exibidas?
O principal é você saber onde isso será definido/verificado e então criar um código JavaScript para alternar os campos a serem exibidos.
Olá @thiagocrepald tudo bem?
Uma outra solução seria fazer a verificação da página antes de adicionar os fields com set_fields
.
@allysonsouza show de bola, na vdd acho que por titulo seria mais fácil..
Você já criou algo neste modelo?
@mariovalney com um if por exemplo?
@allysonsouza show de bola, na vdd acho que por titulo seria mais fácil..
@thiagocrepald se você usa vários idiomas no site, por titulo seria uma boa solução? :thinking:
@thiagocrepald Não sei se já resolveu isso, mas precisei fazer algo do tipo hoje e ao pesquisar alguma solução, achei essa sua pergunta. Eu acabei alterando a class Odin_Metabox.
Segue o que eu fiz:
// Adicionar um parametro no construct
public function __construct( $id, $title, $post_type = 'post', $context = 'normal', $priority = 'high', $post_name = [] )
// Algumas linhas abaixo, junto com as outras declarações, eu coloquei a do post_name
$this->post_name = (!is_array($post_name) ? [$post_name] : $post_name);
// Depois, no metodo add(), eu adicionei o seguinte conteúdo logo no começo
global $post;
// Has a post_name specificity?
if (count($this->post_name)) {
// If the name is not in the array, skip it.
if (!in_array($post->post_name, $this->post_name)) {
return false;
}
}
Coloquei o arquivo aqui para usar se quiser.
Bom dia pessoal,
conheci o Odin nesta semana e parei de utilizar o plugin Meta Box para utilizar o mesmo. Gostei muito pela praticidade e objetividade da documentação.
Estou com o seguinte problema, como faço para criar uma Metabox em uma página especifica.
Preciso criar os campos personalizados, porém na Quem Somos irá ter campos diferentes da Contato por exemplo.
Como posso fazer isso? É possível?