• maxbiano

    (@maxbiano)


    Boa tarde, estou tentando utilizar essa funçao:
    http://wpod.in/v2/Classe-Odin_Metabox.html#adicionando-campos-no-metabox

    Pretendo fazer um album de imagens de alguns produtos, como um catalogo.
    Este catalogo, teria uma imagem de capa e um link para o catalogo completo com todas imagens.

    Algum de voces poderia me apresentar um exemplo completo?
    no functions coloquei esse codigo:

    function departamento_metabox() {
        $departamento = new Odin_Metabox(
            'produtos',
            'Informações do produto',
            'produtos',
            'normal',
            'high',
        );
    
        $departamento->set_fields(
            array(
                array(
                    'id' => 'tit_Produto',
                    'label' => __('Nome do produto', 'odin'),
                    'type' => 'text',
                    //'description' =>__('Titulo do produto', 'odin'),
                    'attributes' => array(
                        'placeholder' => __('Informe o titulo do produto'),
                        //'class' =>
                    ),
                    'add_colum' => true,
                ),
                array(
                    'id' => 'Desc_produto',
                    'label' => __('Descrição do Produto'),
                    'type' => 'textarea',
                    'attributes' => array(
                        'textarea_rows' => 2
                    )
                ),
                // Separator.
                array(
                    'id' => 'separator1', // Obrigatório
                    'type' => 'separator' // Obrigatório
                ),
                // Title.
                array(
                    'id' => 'test_title', // Required
                    'label'=> __( 'Album de fotos', 'odin' ), // Required
                    'type' => 'title', // Required
                ),
                $galery = array(
                    'id' => 'imagem_capa',
                    'label' => __('Imagem de Capa'),
                    'type' => 'image_plupload',
                    'default' => ”,
                    'description' => __('Upload de Imagem','odin')
                ),
            ),
        );
    }
    
    add_action( 'init', 'departamento_metabox', 1 );

    Não estou conseguindo compreender como usar esse array:

    foreach ( explode( ',', $gallery ) as $image_id ) {
        // Sua mágica aqui!
    }

    Se alguém puder me ajudar serei muito grato.

    • Este tópico foi modificado 2 meses, 3 semanas atrás por Mário Valney. Motivo: Formatação
Visualizando 1 resposta (de um total de 1)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    Primeiramente, gostaria de pedir que use a tag “code” para publicar códigos, assim não se perde a formatação.

    Agora vamos ao seu problema:

    1. O foreach é pra ser usado onde você quiser apresentar a galeria.

    Você pode conferir todos os detalhes e exemplos aqui:
    https://github.com/wpbrasil/odin/wiki/Classe-Odin_Metabox

    Mas seria basicamente assim:

    $imagem_capa = get_post_meta( $post->ID,'imagem_capa', true );

    Lembrando que isso é dentro do Loop do WordPress, senão, troque o primeiro parâmetro pelo ID do post que você pegar.

    2. Algumas notas sobre seu código:

    – Remova a virgula após o “high” no começo do código. Colocamos vírgula após os últimos itens de arrays porque o PHP aceita, mas em funções/métodos não.

    – Você está usando “produtos” como ID da metabox. Considero ele genérico demais e pode causar conflitos. Tente algo como “metabox_meutema_produtos” ou “metabox_configuracao_dos_produtos” ou qualquer outro.

    – Você está usando o post_type “produtos”. Esse tipo de post existe mesmo? Se estiver usando o WooCommerce, o certo seria “products”.

    Abraços.

Visualizando 1 resposta (de um total de 1)
  • Você deve estar conectado para responder a este tópico.