Suporte » Plugins » Adicionar várias imagens dentro de um único CPT

  • Criei um Custom Post Type para publicar várias imagens juntas.

    —>>> titulo <<—
    —>>> imagem destacada/default <<<—
    —->texto<—
    —>>imagens<<—
    —>>imagens<<—
    …..

    As três primeiras seções (título, imagem destacada e texto) é o básico. Já está pronto.

    Agora, como eu posso adicionar várias imagens neste único CPT?

    Eu pensei em utilizar metabox e adicionar a url da imagem. Entretanto, adicionar url por url não é nada intuitivo e dá muito mais trabalho para o usuário, seja ele leigo ou avançado. Além disso, a quantidade de imagens irá variar pode ser 1, podem ser 5, podem ser 10 e por aí vai.

    Como posso adicionar várias imagens dentro de único post num CPT?

    O Dashboard ficaria assim:

    —>>> titulo <<—
    —>>> texto/content<<<—
    —>>add imagens<<—

    Como posso fazer isso? Seja por plugin ou na mão mesmo.

    • Este tópico foi modificado 7 anos, 8 meses atrás por Claudio Sanches. Motivo: Este tópico é uma questão de suporte
Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Você pode fazer com metabox mas usando o plugin CMB2 para te auxiliar.

    Com ele você pode utilizar o campo file_list, que é um campo “repetível” para imagens, funciona como uma galeria.

    Esse plugin tem bastante documentação para ajudar a implementar, alguns links aqui:
    Wiki: https://github.com/WebDevStudios/CMB2/wiki
    Um tutorial: http://code.tutsplus.com/tutorials/toolbox-of-the-smart-wordpress-developer-cmb2–cms-24090

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, @gtw7375. Tudo bem?

    Antes de mais nada: criar uma galeria no próprio editor do post não resolve? Já que as imagens parecem ser em sequência depois do texto.

    Se não resolver, recomendaria criar metaboxes mesmo para que o usuário possa incluir essa informação pela dashboard de edição do post e essas informações serem salvos como metadados.

    Nessa metabox você pode usar o media uploader do próprio WordPress.
    A maneira mais rápida e simples que vejo, seria utilizar o framework Odin (desenvolvido pela comunidade WordPress Brasil), que explica nessa página da documentação como criar o que você quer.

    Outra forma, seria fazer na mão, como fiz para um projeto meu:

    1 – Adicione a metabox normalmente.
    2 – O código exibido na metabox seria esse: http://pastebin.com/GGgMkrjb
    3 – Adicionar o JS à página: http://pastebin.com/xM8LLeU0
    4 – Usei o seguinte CSS: http://pastebin.com/f1Aygn00
    5 – Adicionar uma função Ajax para recuperar uma nova galeria, após o upload: http://pastebin.com/rdpFazzn

    Ficou assim:
    Exemplo de Galeria

    Se tiver dúvidas em como adicionar JS e CSS à administração, usamos o hook admin_enqueue_scripts assim:

    
    function my_enqueue($hook) {
        if ( 'edit.php' != $hook ) {
            return;
        }
    
        wp_enqueue_script( 'my_custom_script', get_template_directory_uri() . '/myscript.js' );
    }
    add_action( 'admin_enqueue_scripts', 'my_enqueue' );
    

    Espero ter ajudado.
    Abraços

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Complementando a resposta anterior, você precisará salvar os dados como metadado:

    
    <?php
    // Onde você salva os dados da metabox:
    
    $meta_box_gallery_value = base64_encode( json_encode( explode( ',', $_POST['seutema_page_gallery_ids'] ) ) );
    
    update_post_meta( $post, '_seutema_page_gallery', $meta_box_gallery_value );
    

    Abraços

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Adicionar várias imagens dentro de um único CPT’ está fechado para novas respostas.