woocommerce获取图像大小
问题描述:
我试图在woocommerce的单个产品页面上获取与产品相关的所有图像的尺寸(大小)。 我需要photoswipes“data-size”值的值宽度和高度。woocommerce获取图像大小
这就是我现在
<ul class="slides">
<?php
$attachment_ids = $product->get_gallery_attachment_ids();
$attachment_first[0] = get_post_thumbnail_id($product->id);
$attachment = wp_get_attachment_image_src($attachment_first[0], 'full');
$img_size = wc_get_image_size($attachment_ids, 'full');
$w = $img_size['width'];
$h = $img_size['height'];
$size = $w .'x'. $h;
?>
<li class="picture">
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
<a href="<?php echo $attachment[0]; ?>" itemprop="contentUrl" data-size="<?php echo $size; ?>">
<img src="<?php echo $attachment[0]; ?>" itemprop="image" />
<?php echo $size; ?>
</a>
</figure>
</li>
<?php
foreach($attachment_ids as $attachment_id){
$src_url = wp_get_attachment_url($attachment_id);
echo '<li class="picture"><figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"><a href="' . $src_url . '" itemprop="contentUrl" data-size="' . $size . '"><img src="' . $src_url . '" itemprop="image" />'.$size .'</a></figure></li>';
}
?>
</ul>
它正确地得到所有的图像,但宽度和高度值是关闭。我知道我正在测试的产品的完整图像是800x800。如果我在
wc_get_image_size($attachment_ids, 'full');
删除 “$ attachment_ids” 那么值变为300×300。
我真的需要找到一个简单的方法来从woocommerce得到实际尺寸的全尺寸图像。 我还以为这个任务本来简单:P
答
NWM,这个解决了这个问题(其他任何人对这个搜索)
<ul class="slides">
<?php
$attachment_ids = $product->get_gallery_attachment_ids();
$attachment_first[0] = get_post_thumbnail_id($product->id);
$attachment = wp_get_attachment_image_src($attachment_first[0], 'full');
$w = $attachment[1];
$h = $attachment[2];
$size = $w .'x'. $h;
?>
<li class="picture">
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
<a href="<?php echo $attachment[0]; ?>" itemprop="contentUrl" data-size="<?php echo $size; ?>">
<img src="<?php echo $attachment[0]; ?>" itemprop="image" />
</a>
</figure>
</li>
<?php
foreach($attachment_ids as $attachment_id){
$src_url = wp_get_attachment_url($attachment_id);
$attachments = wp_get_attachment_image_src($attachment_id, 'full');
$wp = $attachments[1];
$hp = $attachments[2];
$sizes = $wp .'x'. $hp;
echo '<li class="picture"><figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"><a href="' . $src_url . '" itemprop="contentUrl" data-size="' . $sizes . '"><img src="' . $src_url . '" itemprop="image" /></a></figure></li>';
}
?>
</ul>