2014-09-25 34 views
1

我期待此頁http://www.venaproducts.com/dev/product/fosmon-hybo-duoc-case-for-amazon-fire-phone/WordPress的IMG ALT文字

上打印出每個縮略圖的替代文字然而第一圖像替代文字似乎是用於所有縮略圖,即使替代文字是不同的。任何幫助深表感謝。

global $post, $product, $woocommerce; 

$attachment_ids = $product->get_gallery_attachment_ids(); 

if ($attachment_ids) { 
?> 
<div id="product-images" class="thumbnails"><?php 
    $small_img = wp_get_attachment_image_src(get_post_thumbnail_id(),'single-product-thumbnail'); 
    $middle_img = wp_get_attachment_image_src(get_post_thumbnail_id(),'single-product'); 
    $large_img = wp_get_attachment_image_src(get_post_thumbnail_id(),'single-product-zoom'); 
    $img_id = get_post_thumbnail_id(get_the_id()); 
    $alt_text = get_post_meta($img_id, '_wp_attachment_image_alt', true); 


    echo '<a href="#" data-image="' . $middle_img[0] . '" data-zoom-image="' . $large_img[0] . '"> 
       <img src="' . $small_img[0] . '" alt="' . $alt_text . '"> 
      </a>'; 
    $loop = 0; 
    $columns = apply_filters('woocommerce_product_thumbnails_columns', 3); 

    foreach ($attachment_ids as $attachment_id) { 

     $classes = array('zoom'); 

     if ($loop == 0 || $loop % $columns == 0) 
      $classes[] = 'first'; 

     if (($loop + 1) % $columns == 0) 
      $classes[] = 'last'; 

     $image_link = wp_get_attachment_url($attachment_id); 

     if (! $image_link) 
      continue; 

     // $image  = wp_get_attachment_image($attachment_id, apply_filters('single_product_small_thumbnail_size', 'shop_thumbnail')); 
     // $image_class = esc_attr(implode(' ', $classes)); 
     // $image_title = esc_attr(get_the_title($attachment_id)); 
     $small_img = wp_get_attachment_image_src($attachment_id, 'single-product-thumbnail'); 
     $middle_img = wp_get_attachment_image_src($attachment_id, 'single-product'); 
     $large_img = wp_get_attachment_image_src($attachment_id, 'single-product-zoom'); 

     // echo apply_filters('woocommerce_single_product_image_thumbnail_html', sprintf('<a href="%s" class="%s" title="%s" rel="prettyPhoto[product-gallery]">%s</a>', $image_link, $image_class, $image_title, $image), $attachment_id, $post->ID, $image_class); 
     echo '<a href="#" data-image="' . $middle_img[0] . '" data-zoom-image="' . $large_img[0] . '"> 
        <img src="' . $small_img[0] . '" alt="' . $alt_text . '"> 
       </a>'; 

     $loop++; 
    } 

?></div> 
<div class="carousel-prev product-prev"></div> 
<div class="carousel-next product-next"></div> 
<?php 

}

回答

1

你,當你處理後的縮略圖,foreach循環之外設置你的$alt_text值。

在你的foreach循環中,當你瀏覽附件時,你忘記了更新值。

嘗試這樣的事情在foreach循環:

$small_img = wp_get_attachment_image_src($attachment_id, 'single-product-thumbnail'); 
$middle_img = wp_get_attachment_image_src($attachment_id, 'single-product'); 
$large_img = wp_get_attachment_image_src($attachment_id, 'single-product-zoom'); 
$alt_text = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); 
+0

由於剛托馬斯Misund,但你能更多地討論你的意思。我仍然有點失落。你是說我需要把$ alt_text放在for循環語句中嗎? – user2414 2014-09-25 18:45:50

+0

是的。我用代碼行更新了答案。 – 2014-09-26 12:10:00

+0

就是這樣。謝謝托馬斯Misund – user2414 2014-09-26 14:10:07