2016-11-15 22 views
0

私は、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

答えて

1

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> 
それを解決
関連する問題