wp_get_attachment_image retorna tamanho de imagem diferente

4

É um bug?

wp_get_attachment_image( $attachment_id, 'post-thumb-size-small');

O mesmo código, chamado no modelo, e na chamada AJAX retorna a mesma imagem SRC, mas com largura e altura diferentes da imagem.

burro da chamada de modelo:

<img width="286" height="189" src="http://localhost/site/files/2012/02/post-image-31-286x189.jpg"class="attachment-post-thumb-size-small" alt="post-image-3" title="post-image-3">

dump da chamada AJAX

<img width="220" height="145" src="http://localhost/site/files/2012/02/post-image-31-286x189.jpg"class="attachment-post-thumb-size-small" alt="post-image-3" title="post-image-3">

estou confuso, o que está errado?

index.php code

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <?php include 'post.php'; ?>

    <?php endwhile; endif; ?>

código post.php

<div class="container">

<?php
if( in_array( $post_type, array( 'audio', 'video', 'quote', 'link'))) {
  $theme->theme_post->display_post_element( $post_type, $post_size, $post);
}
?>
</div>

código da função display_post_element

    function display_post_element( $post_type, $post_size, $post) {
$attachment_id = get_post_meta( $post->ID, '_view_attachment_id', true);
        if( $post_type == 'single_image') {
            $img = wp_get_attachment_image_src( $attachment_id, 'full');

            if( is_array( $img)):                
            ?>
            <div class="preview-thumb">
                <a href="<?php echo $img[0]; ?>" class="lightbox"><?php echo wp_get_attachment_image( $attachment_id, 'post-thumb-size-' . $post_size); ?></a>
                <a href="<?php echo $img[0]; ?>" class="lightbox zoom"></a>
            </div>
            <?php
            endif;
        }
}

carregar postagens com código de chamada ajax:

function load_posts_ajax() {
    global $post;
    $query_string = $_POST['query_string'];

    query_posts( $query_string . '&posts_per_page=' . get_option( 'posts_per_page') . '&post_status=publish&offset=' . (int)$_POST[ 'off']);

    if ( have_posts() ) : while ( have_posts() ) : the_post();
        include TEMPLATEPATH . '/post.php';
    endwhile; endif;

    die;
}
    
por user12859 19.02.2012 / 22:17

1 resposta

1

Manipular tamanhos incorporados à direita

Eu escrevi uma classe que lida com todas as coisas diferentes para tamanhos de imagem incorporados.

  1. Para redefinir os tamanhos incorporados, use uma classe estendida (o arquivo superior na origem vinculada)
  2. Para remover uma turma e ignorar o uso, basta definir w & h a 0 .

enlace

Clique no octocat para ver a essência:)

    
por kaiser 22.02.2012 / 19:25