2017-04-17 104 views
1

我已經使用這個函數來將默認的wordpress廚房主題格式化爲我的bootstrap主題,並且工作正常。但是當我稱之爲「image_alt」和「image_title」沒有成功。如何獲取wordpress圖庫圖片的元屬性(title,alt,...)?

任何幫助,請?謝謝!

add_filter('post_gallery', 'bootstrap_gallery', 10, 3); 

function bootstrap_gallery($output = '', $atts, $instance) 
{ 
    $atts = array_merge(array('columns' => 3), $atts); 

    $columns = $atts['columns']; 
    $images = explode(',', $atts['ids']); 

    $col_class = 'img-box col-sm-4 col-xs-6 col-xxs-12 no-padding wow flipInX animated'; // default 3 columns 
    if ($columns == 1) { $col_class = 'img-box col-xs-12 no-padding wow flipInX animated';} 
    else if ($columns == 2) { $col_class = 'img-box col-xs-6 col-xxs-12 no-padding wow flipInX animated'; } 
    // other column counts 

    $return = '<div class="row gallery">'; 

    $i = 0; 

    foreach ($images as $key => $value) { 

     if ($i%$columns == 0 && $i > 0) { 
      $return .= '</div><div class="row gallery portfolio center">'; 
     } 

     $image_attributes = wp_get_attachment_image_src($value, 'full'); 
     $image_alt = get_post_meta($image->id, '_wp_attachment_image_alt', true); 
     $image_title = $attachment->post_title; 

     $return .= ' 
      <div class="'.$col_class.' img-box col-sm-4 col-xs-12 no-padding wow flipInX animated"> 
       <a data-gallery="gallery" href="'.$image_attributes[0].'"> 
        <img src="'.$image_attributes[0].'" alt="'.$image_alt.'" class="img-responsive"> 
       </a> 
       <div class="title">'.$image_title.'</div> 
      </div>'; 

     $i++; 
    } 

    $return .= '</div>'; 

    return $return; 
} 

回答

1

第一獲得圖像ID,試試這個

$image_id = get_post_thumbnail_id(get_the_ID()); 
or 
$image_id = get_post($id); 

,然後你可以通過ID用於獲取圖片的alt和形象稱號。

$image_alt = get_post_meta($image_id, '_wp_attachment_image_alt', true); 
$image_title = $image_id->post_title; 
相關問題