在RSS提要中显示帖子中的第一张图像

时间:2013-10-14 作者:tushonline

我发现了另一个问题here, 但这对我的情况没用;它不起作用了。此外,“RSS提要图像”插件也没有按预期工作。

我想display the first image RSS提要中的帖子。

以下是我用于显示缩略图/特色图像的代码:

//Display TZ Thumbnail in RSS
function insertThumbnailRSS($content) {
    global $post;
    if ( has_post_thumbnail( $post->ID ) ) {
        $content = \'\' . get_the_post_thumbnail( $post->ID, \'thumbnail\', array( \'alt\' => get_the_title(), \'title\' => get_the_title(), \'style\' => \'float:left;margin: 20px\' ) ) . \'\' . $content;
    }
    return $content;
}
add_filter(\'the_excerpt_rss\', \'insertThumbnailRSS\');
add_filter(\'the_content_feed\', \'insertThumbnailRSS\');
这张照片效果很好,但是我在第一张照片上尝试的任何东西都不起作用。我至少可以显示第一个图像URL(不需要)。

2 个回复
最合适的回答,由SO网友:Dave Ross 整理而成

以下是我在Dave\'s WordPress Live Search 要获取第一个图像,请执行以下操作:

public static function firstImg( $post_content ) {
        $matches = array();
        $output = preg_match_all( \'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post_content, $matches );
        if ( isset( $matches[1][0] ) ) {
            $first_img = $matches[1][0];
        }

        if ( empty( $first_img ) ) {
            return \'\';
        }
        return $first_img;
    }

SO网友:Cameron Hurd

当我需要这样做的时候,我使用了一个外部的图书馆。可能有点过头了,但我最终还是在插件的其他领域再次使用了它,所以它是有意义的。将帖子的内容提供给此函数,并将其挂接到最终使用的过滤器中。

simple_html_dom.php 可用here!

function first_image_extractor($description) {
    require_once(\'simple_html_dom.php\');

    $post_html = str_get_html($description);
    $first_img = $post_html->find(\'img\', 0);

    if($first_img !== null)
        return $first_img->src;

    return null;
}

结束