2013-03-29 45 views
0

我曾嘗試這個代碼從媒體庫中的所有圖像,我成功地讓所有的圖片的來源網址,但現在我要排除所有不需要的相似圖片的標誌,標題圖片等如何在Wordpress中提取不包括標題和徽標圖像的帖子和頁面的圖像?

總之我想提取附着的文章和網頁的所有圖片..

if(is_single() || is_page() || is_home()){ 
      global $post; 

$query_images_args = array(
    'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'posts_per_page' => -1,'numberposts' => 1 
); 

$query_images = new WP_Query($query_images_args); 
$images = array(); 
     foreach ($query_images->posts as $image) { 
     $images[]= wp_get_attachment_url($image->ID); 

     } 
      echo "<pre>"; 
      print_r($images); 
      echo "</pre>"; 

我的輸出 這裏的第一圖像爲標題圖片爲我..How這是不必要的,以排除它..我已經嘗試使用附件大小,但不能始終保持獨特..看看它吧

Array 
(
    [0] => http://localhost/wordpress/wp-content/uploads/2013/03/AboutUsSlider.jpg 
    [1] => http://localhost/wordpress/wp-content/uploads/2013/03/7325996116_9995f40082_n.jpg 
    [2] => http://localhost/wordpress/wp-content/uploads/2013/03/6310273151_31b2d7bebe.jpg 
    [3] => http://localhost/wordpress/wp-content/uploads/2013/03/4764924205_ce7470f15a.jpg 
    [4] => http://localhost/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n.jpg 
    [5] => http://localhost/wordpress/wp-content/uploads/2013/03/1494822863_aca097ada7.jpg 
    [6] => http://localhost/wordpress/wp-content/uploads/2013/03/1385429771_453bc19702.jpg 
) 

回答

0

從這一點,您可能想要指定要過濾的內容。

$images[]= wp_get_attachment_url($image->ID); 
} 
$linkstoremove[] = $linksyouwanttoremove; 
//remove unwanted images 
$filtered_images = array_filter($images, $linkstoremove); 
//set data sequence 
$filtered_images = array_values($filtered_images); 
print_r($filtered_images); 
0

查詢數據庫並獲取所述柱,然後應用的任何過濾器,並且從每個是那些帖內的交和/或圖像的所有圖像中提取。例如:

$my_images = array(); 
    $query_images_args = array(
    'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'posts_per_page' => -1,'numberposts' => 1 
); 

$query_images = new WP_Query($query_images_args); 
    while ($query_images->have_posts()) : $query_images->the_post(); 

     $dcontent = apply_filters('the_content', get_the_content()); 
     $dcontent = preg_replace("/\< *[img][^\>]*[.]*\>/i","",$dcontent,1); 
     if (preg_match_all('/<img (.+?)>/', $dcontent, $matches)) { 
        foreach ($matches[1] as $match) { 
         foreach (wp_kses_hair($match, array('http')) as $attr) 
          $img[$attr['name']] = $attr['value']; 
          $my_images[] = $img['src']; 
        } 
       } 
    endwhile; 

不是100%的效率,但它的工作原理。

相關問題