Função para chamar a imagem de anexo da postagem

4

Olá a todos, não consigo ver a imagem da postagem (ela é anexada por meio da gravidade como uma pós-imagem). Com essa função, vejo o ícone da imagem ausente com o título e o link de trabalho, mas sem imagem em miniatura. ? É suposto ser mais ou menos (autores últimos 2 posts na área de widget) Eu suspeito que o problema está aqui:

$output .= '<img src="' .  wp_attachment_is_image( $post_id ) . '" alt="" />';

Então, por favor, me ajude: D

function get_related_author_posts() {
global $authordata, $post;

$authors_posts = get_posts( array( 'orderby' => 'rand', 'author' => $authordata->ID, 
'post__not_in' => array( $post->ID ), 'posts_per_page' => 2 ) );

$output = '<ul class="post_related">' . "\n";
foreach ( $authors_posts as $authors_post ) {
    $output .= '<li><a href="' . get_permalink( $authors_post->ID ) . '" title="' . 
apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '">';
    $output .= '<img src="' .  wp_attachment_is_image( $post_id ) . '" alt=""
/>';
    $output .= '</a></li>' . "\n";
}
$output .= '</ul>';

return $output;
}
    
por jimilesku 20.05.2011 / 11:10

2 respostas

1

Entendo corretamente que você está querendo dizer uma miniatura de imagem para uma postagem e não apenas uma imagem anexada?

Veja a função get_the_post_thumbnail() e seu uso será algo assim:

$output .= get_the_post_thumbnail( $authors_post->ID );
    
por Rarst 20.05.2011 / 17:47
4

Você pode usar wp_get_attachment_image_src() diretamente no seu código atual:

$output .= '<img src="' .  wp_get_attachment_image_src( $attachment_id, $size ) . '" alt="" />';

Ou você pode usar wp_get_attachment_image() no lugar do seu código atual:

$output .= wp_get_attachment_image( $attachment_id, $size );

Observe que, em ambos os casos, você terá que recuperar a ID do anexo de alguma maneira. O método mais direto provavelmente será get_posts() , por exemplo:

$attachments = get_posts( array(
    'post_parent' => $post->ID,
    'post_type' => 'attachment',
    'post_mime_type' => 'image'
) );

Que retornará uma matriz de objetos de anexo.

    
por Chip Bennett 19.07.2011 / 20:33