3

我需要在 wordpress 中获取帖子的第一张图片。我有各种各样的帖子。所以对于新帖子,我可以设置特色图片。但是有成千上万的旧帖子。我需要从这些帖子中提取第一张图片,以便我可以使用它们来显示。

我使用了来自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;

我需要以缩略图的形式显示每个帖子中的图像,就像在画廊中一样。我搜索了很多,但无法弄清楚如何。

4

1 回答 1

4

把这个放在你的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;

检查此论坛帖子

于 2013-06-27T21:42:16.840 回答