如何通过RSS从其他博客获取帖子作者的图片/头像?

时间:2015-05-13 作者:andrw22

我有两个网站:一个是公司网站,另一个是公司博客-这些网站位于不同的域上。

在该公司网站的主页上,有一块方形瓷砖,上面有该博客的最新帖子,包括博客标题(超链接)和帖子作者的图片/头像。

为了通过RSS检索最新帖子的标题,我添加了一个类似于documented here 我的职能。php。然而,我正在努力寻找一种检索作者图片的工作方法。

一些插件最初吸引了我的眼球。例如,有人将帖子的特色图片添加到RSS中,从而使其可检索。但要求作者将他们的个人资料图片上传到每篇文章中的做法并不理想。

有没有无插件的方法来获取作者的图片?至少,我想找到一个专门用于此场景的插件。

2 个回复
SO网友:Krzysiek Dróżdż

恐怕没有插件是不可能做到的。

作者的图像(gravatar)未在RSS中发布,它是根据作者的电子邮件地址计算的,而作者的电子邮件地址也未在RSS中发布。。。

但是如果您可以控制这两个站点,那么您可以使用JSON API/XML RPC来获取最新的博客帖子-然后您可以从这些帖子中获取所有信息。。。

SO网友:birgire

退房信息丰富Really Simple Syndication Best Practices Profile .

关于<item> 标签:

项目可以包含以下子元素:author, category, comments, description, enclosure, guid, link, pubDate, sourcetitle. 所有这些元素都是可选的,但项目必须包含标题或描述。

关于<author> 标签:

项目的author元素提供编写项目的人员的电子邮件地址(可选)。

<author>[email protected] (Joe Bob Briggs)</author>
因此,如果作者的电子邮件是公开的,那么我们可以使用:

/**
 * Add the <author> tag containing the author\'s email address.
 */
add_action( \'rss2_item\', function()
{
    printf( \'<author>%s</author>\', get_the_author_meta( \'email\' ) );
} );
还有一些扩展,比如Dublin Core.

但我不知道有什么合适的标签可以用于头像url。

我们也许可以使用<enclosure> 标记,具有三个必需属性:

      <enclosure length="24986239" type="audio/mpeg"
                 url="http://dallas.example.com/joebob_050689.mp3" />
当无法确定存储模块的大小时,发布服务器应使用长度0。

但是我们必须知道mime/type才能正确遵循标准。所以这可能是个问题。

自定义<wpse:avatar> 标记:

正确的方法可能是引入新标记,例如:

<wpse:avatar></wpse:avatar>
但我们必须定义自己的名称空间:

xmlns:wpse="http://example.tld"
其中example.tld 该网站包含有关我们的自定义标记的信息,供其他人阅读。你可以了解更多herehere, 例如

然后我们可以使用以下内容:

/**
 * Add the custom \'wpse\' namespace
 */
add_action( \'rss2_ns\', function()
{
    print( \' xmlns:wpse="http://example.tld" \' );
} );

/**
 * Add the avatar url into our <wpse:avatar> tag
 */
add_action( \'rss2_item\', function()
{
    printf( 
        \'<wpse:avatar>%s</wpse:avatar>\', 
        get_avatar_url( get_the_author_meta( \'ID\' ) )
    );
} );
我们用的是新的get_avatar_url() 在版本4.2的核心中添加的函数。有关该函数的更多信息,请参阅my answer here.

以下是一个示例输出:

<wpse:avatar>http://0.gravatar.com/avatar/c52e94b32934ec08c573b1c850a7a8a3
?s=96&d=mm&r=g</wpse:avatar>

结束

相关推荐

Responsive Images

是否有本机功能可以根据屏幕分辨率显示帖子缩略图或图库图像的正确响应图像大小?通常我使用:1、自定义图像大小:function customImageSetup () { add_theme_support( \'post-thumbnails\' ); add_image_size(\'grid_1 mini square\', 60, 60, TRUE); add_image_size(\'grid_2\', 160); add_image_size(\'