WordPress的媒体库自定义分类获取图像

问题描述:

我在这里使用此代码来使用自定义分类从媒体库中获取图像。它获得的图像网址很好,但我想获得图像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; 
} 

get_images_from_media_library()返回图像的URL的阵列因此display_images_from_media_library()从未访问比这些网址其它任何东西。如果你想访问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()