2016-12-30 5 views
1

私はここでこのコードを使用して、カスタム分類法を使用してメディアライブラリから画像を取得しています。それはイメージのURLを正常に取得しますが、私はイメージIDとタイトルを取得したい。それ、どうやったら出来るの? これはこれまで私が持っていたものです。Wordpressメディアライブラリカスタム分類画像を取得

function get_images_from_media_library($cat) { 
    $args = array(
     'post_type' => 'attachment', 
     'post_mime_type' =>'image', 
     'post_status' => 'inherit', 
     'posts_per_page' => 6, 
     'orderby' => 'rand', 
     'tax_query' => array(
      array(
      'taxonomy' => 'gallery-category', 
      'field' => 'slug', 
      'terms' => $cat 
      ) 
     ) 
     ); 
    $query_images = new WP_Query($args); 
    $images = array(); 
    foreach ($query_images->posts as $image) { 
    $images[]= $image->guid; 
    echo $image->ID; // Returns image ID, but I need it in display_images_from_media_library function 
    } 
    return $images; 
} 
function display_images_from_media_library($cat) { 
    $imgs = get_images_from_media_library($cat); 
    foreach($imgs as $img) { 
    $html .= '<img src="' . $img . '" alt="">'; 
    } 
    return $html; 
} 

答えて

1

get_images_from_media_library()display_images_from_media_library()ので、画像のURLの配列を返します。これらのURL以外へのアクセス権を持っていることはありません。 IDとタイトルにアクセスしたい場合は、いくつか更新する必要があります。 get_images_from_media_library()内部

は、この変更:これに

$images = array(); 
foreach ($query_images->posts as $image) { 
    $images[]= $image->guid; 
    echo $image->ID; // Returns image ID, but I need it in display_images_from_media_library function 
} 
return $images; 

return $query_images->posts; 

を元のコードは、画像を介してループし、新しいアレイにそのURLを追加しました。ここでは元の形で画像を返すつもりです。

これらの画像を使用する機能を更新する必要があります。

変更この:これに

$html .= '<img src="' . $img . '" alt="">'; 

:私の答えで

$html .= '<img src="' . $img->guid . '" alt="">'; 

私はあなたが希望する結果に達するために書かれたコードを修正しました。私はあなたが最初に画像を取得する方法を変更することをお勧めします。 WP_Queryは、それを処理する最も効率的な方法ではありません。代わりにget_posts()を検討してください。

関連する問題