Obter o URL da imagem de anexo de tamanho completo usando ID de postagem?

Eu tenho essa function:

function get_image_link( &$post ) { $image_link_meta = get_post_meta( $post->ID, 'as_link_to_image', true ); $image_link_from_post = ''; if ( function_exists( 'has_post_thumbnail' ) && has_post_thumbnail( $post->ID ) ) { $attachment_image_link = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), full ); } if ( $attachment_image_link[0] ) $image_link_from_post = $attachment_image_link[0]; if( !empty( $image_link_meta ) ) $final_image_link = $image_link_meta; elseif( !empty( $image_link_from_post ) ) $final_image_link = $image_link_from_post; else $final_image_link = WP_PLUGIN_URL . '/link/to/no-image.png'; return $final_image_link; } } 

Alguma idéia de por que $image_link_from_post não está recebendo um valor?

Solutions Collecting From Web of "Obter o URL da imagem de anexo de tamanho completo usando ID de postagem?"

Isso deve ser capaz de retornar a url da imagem grande.

 $largeImg = wp_get_attachment_link( $attachment_id, 'large', false ); 

Há também esse incase que não funciona.

 wp_get_attachment_image_src( $attachment_id, 'large' ); 

Great Snippet disponível aqui dos caras no CSS-Tricks:

 $thumb_id = get_post_thumbnail_id(); $thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true); $thumb_url = $thumb_url_array[0]; 

Quando eu tentei pela primeira vez esta solução, continuava jogando ‘Missing Attachment’ porque eu estava referenciando o ID da postagem em vez da ID do anexo. Qualquer coisa que esse pequeno trecho ajudou a esclarecer isso para mim. O primeiro comentário o reduz a uma linha!

Felicidades!

Esta linha está aqui:

 if ( !$attachment_image_link[0] ) $image_link_from_post = $attachment_image_link[0]; 

Você está apenas atribuindo a variável $image_link_from_post à miniatura da publicação se a miniatura da publicação não existir. Retire o operador NOT no condicional e deve funcionar mais como você pretende.

Atualização: oops, estranho, acabei de copiar essa linha do seu código, mas agora não está lá. Você já resolveu o problema?