それはバグですか?
wp_get_attachment_image( $attachment_id, 'post-thumb-size-small');
TemplateとAJAX callで呼び出される同じコードは、同じ画像SRCを返しますが、画像の幅と高さは異なります。
テンプレート呼び出しからのダム:
<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">
AJAX callからのダンプ
<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">
私は混乱しています、間違っていますか?
index.phpコード
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php include 'post.php'; ?>
<?php endwhile; endif; ?>
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>
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;
}
}
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;
}
私はビルトイン画像サイズのためのすべての異なるものを扱うクラスを書きました。
w
&h
を0
に設定するだけです。http://static.steffenvogel.de/wp-content/uploads/2011/07/octocat_construction.gif
要点を表示するには、オクトキャットをクリックしてください。