Criando um metabox para fazer upload de várias imagens

8

É possível criar uma caixa meta que anexa várias imagens a uma postagem?

    
por agileapricot 12.01.2011 / 18:10

4 respostas

7

Isso depende inteiramente do que você quer dizer com "anexar".

Cada postagem do WordPress já pode ter vários anexos de mídia - fotos, documentos, etc. Você faz o upload deles usando o uploader integrado e todos eles serão marcados como "anexados" a esse ID de postagem específico.

Você pode se referir a estes mais tarde de forma programática em outro lugar. Por exemplo, o código a seguir listará todos os anexos de uma postagem específica (código de Snipplr ) :

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

Toda essa funcionalidade é acessada por meio do botão padrão "Adicionar mídia", no lado direito de "Upload / Inserir", na nova tela de postagem. Depois de adicionar uma imagem, você pode clicar em "Selecionar arquivos" novamente e carregar uma segunda imagem. Então um terceiro. Então um quarto. Quantos você quiser.

Cada uma dessas imagens será "anexada" à postagem ... mesmo que não estejam inseridas no conteúdo.

    
por EAMann 12.01.2011 / 18:28
6

Aqui está um tutorial completo com arquivos de origem que fazem exatamente o que você quer,
Você pode fazer upload de várias imagens clonando o campo de entrada e também pode visualizar, excluir imagens com ajax, adicionar vários metaboxes a vários tipos de postagens diferentes e muito mais.

enlace

    
por Philip 12.01.2011 / 18:57
2

Eu também recomendo verificar enlace . WPAlchemy é um kick ass "class" (próximo a um plugin) para adicionar facilmente caixas meta personalizadas ao seu site. Eu o uso extensivamente e tenho ficado impressionado com a facilidade de uso e o comprometimento do desenvolvedor e da crescente comunidade.

    
por internetross 12.01.2011 / 22:35
0

Sim, é bem possível. Veja uma resposta que recebi sobre os metaboxes. Basicamente, você só vai querer adicionar um gancho para save_post e verificar o campo nonce.

function my_save_post_callback( $post_id, $post )
{
    if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
    {
        return $post->ID;
    }

    // Handle the upload here

}
add_action( 'save_post', 'my_save_post_callback', 1, 2);
    
por Zack 12.01.2011 / 18:23

Tags