Я пытаюсь получить размеры (размер) всех изображений, связанных с продуктом, на странице одного продукта в woocommerce.
Мне нужны значения ширины и высоты для фотопленки «data-size» значения.
Вот что у меня сейчас
<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>
Он получает все изображения правильно, но значения ширины и высоты отключены. Я знаю, что полные изображения для продукта, на котором я тестирую, имеют размер 800×800. Если я уберу «$ attachment_ids» в
wc_get_image_size( $attachment_ids, 'full' );
Тогда значение становится 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>
Других решений пока нет …