Como faço para um campo personalizado escolher uma imagem?

4

Eu preciso de uma maneira de criar um campo personalizado que me permita escolher uma imagem da galeria de mídia. Como eu faço isso?

O campo personalizado deve ter um botão que, quando clicado, me leva à galeria de mídia e insere o URL de destino src em uma caixa de texto de entrada.

procurando por um plugin ou tutorial on-line e estou tendo pouca sorte.

    
por Kevin 19.08.2010 / 21:22

4 respostas

2

Há algumas semanas, adicionei um recurso semelhante aos Campos Mágicos .

Aqui está o projeto do github . O mais importante é neste arquivo: js/custom_fields/media_image.js

    
por hunk 26.08.2010 / 20:29
1

Usando um dos plugins que já fazem isso:

enlace

    
por scribu 19.08.2010 / 21:25
1

Isso para mim soa como o recurso post_thumbnail no WordPress. Ele irá adicionar uma caixa no lado direito, abaixo da caixa de tag. Por padrão, a caixa exibe um link "Definir imagem em destaque".

Quando você clica nele, o pop-up da galeria de mídia é aberto e você pode escolher uma foto que você enviou anteriormente para a postagem como a foto em destaque.

Você pode usar:

if (has_post_thumbnail()) {
  the_post_thumbnail();
}

no seu tema para exibir a imagem em destaque.

Para ativar post_thumbnail, você só precisa adicionar:

add_theme_support( 'post-thumbnails' );

para a função do seu tema.php

    
por Ben 20.08.2010 / 10:15
0

Para responder à sua pergunta um pouco de lado, você está aberto a uma alternativa? Sugiro adicionar uma foto a uma postagem, arquivar a postagem em uma categoria específica para suas imagens e, talvez, dependendo das suas necessidades, adicionar um campo personalizado somente de texto para recuperar essa imagem específica.

$image = get_posts('cat=the_category&meta_key=the_key&meta_value=the_value');
foreach($image as $img){
    setup_postdata($img);
    //whatever your markup is...
    echo '<p>'.the_content().'</p>';
    //or
   echo '<p>'.$img->post_content.'</p>';
}

Apenas um pensamento ...

    
por kevtrout 20.08.2010 / 00:55