有没有插件可以在一个网站的Widget区域显示另一个网站的最新帖子?

时间:2010-11-11 作者:chentudou

我想从一个网站获取最近帖子或内容相关帖子的标题,并将其显示在另一个网站的小部件区域。我相信一定有办法做到这一点,也许是对标准的“最近的帖子”小部件进行了一些修改?

在使用一个站点的rss提要并在另一个站点的模块中显示其标题之前,我做了类似的事情。然而,这是一个非wordpress网站,我不太确定如何在这里达到同样的效果。

理想情况下,我希望这样做时不使用rss提要,并且能够具体控制显示哪些帖子,也许能够手动或通过其他标准来定义它们,而不仅仅是“最近的”。

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

有三种方法可以实现这一点:两种是非常代码密集型的,另一种是内置的。

简单来说,最简单的方法就是使用RSS小部件。WordPress已经在core中内置了一个RSS小部件,所以您只需指定提要,瞧!

该小部件默认显示标题,但您也可以添加文章的内容、作者和发布日期。调整前端显示以适应布局由CSS决定,就像其他小部件一样。

这种方法根本不需要您访问其他站点,也不需要任何编码(除了CSS样式)。

alt text

自定义代码

如果你有直接的数据库访问权限(你说你有),你可以向一个站点添加一个脚本,从另一个站点加载内容。您可以通过以下两种方式之一执行此操作:

包括WordPress引导文件(wp-blog-header.php) 并在第二个站点中加载WordPress。然后,您可以使用标准的WordPress查询函数来检索帖子,并根据需要对其进行处理wp_posts 任何带有post_type=postpost_status=publish. 只要得到标题和内容,然后做任何你需要做的事情their site, 您将在首页上看到一个博客帖子列表-首页由专有CMS生成,该CMS查询WordPress数据库以查找、解析和显示最近帖子的列表。

WordPress在核心中内置了一个出色的XML远程过程调用系统。该系统允许外部应用程序(桌面应用程序、iPhone应用程序、其他网站)通过发送和接收XML格式的消息与WordPress进行远程交互。甚至还有一种XML-RPC方法可以完全满足您的需要:metaWeblog.getRecentPosts.

因此,为您想要请求发帖的站点“打开”XML-RPC。然后发送metaWeblog.getRecentPosts 请求http://yoursite.com/xmlrpc.php 指定以下参数:

您正在使用的博客ID(对于单个站点通常为0)WordPress用户名WordPress密码WordPress将让您登录,运行查询获取帖子,并返回一个XML对象,其中包含最近发布的帖子列表(按您指定的数量),每个帖子都包含以下内容:

  • dateCreated - 出版后日期userid – 帖子作者IDpostid – 帖子本身的IDdescription – 发布内容title – 帖子标题link – 后permalinkpermaLink – 后permalinkcategories – 职位类别数组mt_excerpt – 帖子摘录mt_text_more – 阅读更多文本mt_allow_comments – 评论是打开还是关闭mt_allow_pings – ping是打开还是关闭mt_keywords – post标记数组wp_slug – 后段塞wp_password – 发布密码wp_author_id – 帖子作者IDwp_author_display_name – 文章作者的显示名称date_created_gmt – 出版后日期(格林尼治时间)post_status – 发布后状态custom_fields – 自定义字段数组sticky – 职位是否标记为;“粘性”a tutorial specific to the MetaWeblog API (由WordPress实现)不久前。我也写过one that explains how to use the XML-RPC API 从WordPress内部调用外部WordPress系统。这可能有助于你开始。

    如果你想得到一个特定的帖子,而不仅仅是;“最近”;posts,也有一个方法调用。打电话就行了metaWeblog.getPost 并指定所需帖子的ID以及WordPress用户名和密码。此方法将以XML对象的形式返回一篇文章,其中包含与上面列出的数据相同的数据。

结束

相关推荐

URL Design for Sub-Posts?

我目前有:mysite.com/product-name mysite.com/another-product 等,其中产品名称和其他产品是帖子。然后,我有一个名为Changelogs的自定义帖子类型,我为每个产品都有这个类型,是否可以有类似以下内容的url:mysite.com/product-name/changelog mysite.com/another-product/changelog 如果是的话,我该怎么做呢?