1

我正在使用 Google Alerts RSS 提要来填充我网站上的侧边栏小部件。它目前显示文章的链接和发布日期,但我还想在每个项目旁边显示缩略图。在阅读了该问题后,我发现问题在于 Google Alerts XML 中不存在图像。是否有解决方法或代码可以从每个源项目(文章)中获取特色图像或缩略图并将其显示在我的侧边栏中?

我已经尝试了所有与将图像添加到您的 RSS 提要相关的插件,但结果为负。我已经尝试了几个代码片段,结果都是负面的。

这是一个失败的片段:

`add_action( 'rss2_item', 'add_post_featured_image_as_rss_item_enclosure' 
);
function add_post_featured_image_as_rss_item_enclosure() {
    if ( ! has_post_thumbnail() )
        return;
    $thumbnail_size = apply_filters( 'rss_enclosure_image_size', 
'thumbnail' );
    $thumbnail_id = get_post_thumbnail_id( get_the_ID() );
    $thumbnail = image_get_intermediate_size( $thumbnail_id, 
$thumbnail_size );
    if ( empty( $thumbnail ) )
        return;
    $upload_dir = wp_upload_dir();
    printf( 
        '<enclosure url="%s" length="%s" type="%s" />',
        $thumbnail['url'], 
        filesize( path_join( $upload_dir['basedir'], $thumbnail['path'] ) 
), 
        get_post_mime_type( $thumbnail_id ) 
    );
}

所有尝试过的插件/代码片段都没有产生任何错误消息,他们什么也没做。

它目前的样子 我想要它的样子

4

1 回答 1

0

尝试将以下代码复制到您的 functions.php 或自定义插件中。这将在您的 rss2 提要(应该是 yourdomain.com/feed/ )中创建一个有效的附件标签,其中包含指向您的全尺寸特色图片的链接。

add_action( 'rss2_item', 'rss_feed_add_featured_image_enclosure' );
function rss_feed_add_featured_image_enclosure()
{

if ( function_exists( 'has_post_thumbnail' ) && has_post_thumbnail( get_the_ID() ) ) {
    $attachment_id = get_post_thumbnail_id(get_the_ID());
    $url = get_the_post_thumbnail_url(get_the_ID(),'full');
    $length = filesize(wp_get_original_image_path($attachment_id));
    $type = get_post_mime_type($attachment_id);
    echo '<enclosure url="' . $url . '" length="' . $length . '" type="' . $type . '" />
';}}
于 2020-11-04T22:28:49.997 回答