2013-06-27 2 views
2

Мне нужно получить первое изображение сообщения в wordpress. У меня разные посты. Поэтому для новых сообщений я могу установить изображение. Однако есть тысячи старых сообщений. Мне нужно извлечь первое изображение из этих сообщений, чтобы я мог их использовать для отображения.Получить изображения из сообщения Wordpress (post content)

Я использовал код от http://css-tricks.com/snippets/wordpress/get-the-first-image-from-a-post/, и я не думаю, что он работает на меня.

global $post; 
$args = array('posts_per_page' => 10, 'category' => 6); 
$myposts = get_posts($args); 
foreach($myposts as $post) : setup_postdata($post); 
...... 
..... 
endforeach; 

Мне нужно отобразить изображение с каждого сообщения, как можно сказать, как в галерее в виде миниатюр. Я много искал, но не мог понять, как это сделать.

ответ

2

это в вашем functions.php

function getTheFirstImage() { 
    $files = get_children('post_parent='.get_the_ID().'&post_type=attachment&post_mime_type=image'); 
    if($files) : 
     $keys = array_reverse(array_keys($files)); 
     $j=0; $num = $keys[$j]; 
     $image=wp_get_attachment_image($num, 'large', false); 
     $imagepieces = explode('"', $image); 
     $imagepath = $imagepieces[1]; 
     $thumb=wp_get_attachment_thumb_url($num); 
     echo "<img src='$thumb' class='thumbnail' />"; 
    endif; 
} 

Затем использовать в функции шаблона getTheFirstImage() где вы хотите напечатать изображение

$args = array('posts_per_page' => 10, 'category' => 6); 
$myposts = get_posts($args); 
foreach($myposts as $post) : setup_postdata($post); 
    getTheFirstImage(); // Will print the image 
    ...... 
    ..... 
endforeach; 

Check this forum post.

+0

Что касается одного сообщения. Скажем, я хочу получить изображение для сообщения, чей идентификатор мне известен. '$ post-> ID = 12' И теперь я хочу изображение в post_content для этого сообщения – prakashchhetri

+0

Затем просто передайте id' $ files = get_children ('post_parent = 2 & post_type = attachment & post_mime_type = image'); ' –

+0

@Heera: Как получить изображение полного размера, пожалуйста? –