更新后RSS通知插件

时间:2010-08-21 作者:neo

每当我用新信息更新旧博客帖子时,所有访问该网站的读者都可以看到它。RSS提要的读者无法获得更新,并且错过了新信息。

我正在寻找一种方法,将帖子发回RSS提要,就像它是一篇新帖子(带有[Update] 最好放在帖子标题之后)。然而,只要我做了一个小改动(比如纠正拼写错误),它就不应该是一个新的RSS帖子。当我编辑帖子时,如果它问我这是否是一个小改动,那将是理想的。我怎样才能做到这一点?

6 个回复
SO网友:Rarst

首先,这显然不是一个bug。WordPress生成的提要按发布后日期排序,这是有意的,也是有意义的。

第二个RSS客户端唯一地标识项目。在特定情况下,WP提要的唯一标识符为guid 非漂亮字段(?p=xxx) permalink。即使帖子被更改并带回feed中,其标识符仍然保持不变,并被RSS客户端视为已读。

在实践中,有些客户机会检测到已更改,有些则不会。在任何情况下,这种情况都是含糊不清和不可靠的。

从可用性的角度来看,以前在feed中重新出现的阅读项目可能会让读者感到恼火(就我个人而言,这很恼人)。

总之,你想要什么并不是不可能的,但(在我看来)违背了WordPress和RSS机制。

考虑到你的情况(我假设有大量这样的编辑),我建议定期发布摘要文章,列出更新的条目。可以手动或通过代码生成。

SO网友:Doug

我想你可能看错了。您的旧帖子中的新信息对both 网站和RSS提要。也就是说,任何在帖子更新后访问RSS提要的人都会看到最新版本。

诚然,在帖子更新之前访问RSS提要的任何人都不知道何时有新信息可用,但对于您网站的访问者来说也是如此。通知网站访问者和RSS用户旧帖子已经更新的唯一方法是创建一个新帖子,实际上是这样的:“嘿!我关于某某的帖子已经更新了!去看看吧。”

SO网友:Ashley G

创建一个名为update的自定义meta\\u字段复选框怎么样。如果选中该框,则可以在标题后附加短语[更新]。

例如:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo \'[Updated]\'; the_title();  }else{ the_title(); } ?>
这会照顾到现场的访客

使用the_title_rss 在你的RSS提要中同样的内容

您可能希望使用wp\\u cron自动重置时间量的值,除非您需要手动返回并取消复选框

SO网友:hakre

我看到了以下解决方案:feed中的帖子列表应该按照帖子的最后更新日期进行排序。我不确定feed是否已经如此。如果没有,插件必须挂接到feed post查询并更改排序顺序。

这个WP Minor Edit (Wordpress Plugin) 提供您已经在寻找的部分功能。它也利用了帖子的最后更新日期,不改变它。

如果现在有另一个插件钩住了feed,按照我指定的方式进行feed排序,然后在feed的每个标题上,检查posts数据是否与post的上次更新日期不同,它只是将[更新]添加到标题上。

完成。

SO网友:AndyBeard

一些对您有用或可能有用的解决方案

更新帖子时更改发布日期-它将重新添加到RSS提要中。如果需要,您可以在自定义字段中存储第一个发布日期。

然而,内容得到了联合很多-真正需要的是一个图像,它是根据链接到永久链接的最后修改日期创建的。如果您是这样做的,并且这不是我测试过的内容,那么您可以根据上次修改的日期而不是发布日期创建提要。它可能需要ping。Google Blogsearch当然会保留整个提要内容的副本,即使他们被告知不要使用feedburner控件在索引中显示。索引可能基于永久链接,而不是Atom提要项。

想变得更加狡猾并获得更多的反向链接。。。当您使用参数更改发布日期时,可以在永久链接的末尾添加日期。

另一种选择是存储上次修改的帖子,每当发布帖子时,您也会在RSS的底部添加最近修改过的帖子,并且在提要栏中也会有类似的内容。实际上,我喜欢这个选项,因为它添加了更多链接。

SO网友:Norcross

基本上,你要做的是“欺骗”RSS阅读器,使其认为这是一篇不同的文章,而不仅仅是一个更新版本。与WP站点本身不同,它在有人查看时调用数据库中最新版本的内容,RSS是一个更“静态”的版本,每当各种提要阅读器将信息拉入阅读器应用程序时,无论您再次更新多少次,它都会变为静态。还要记住,任何第三方聚合器(如Feedburner)都会提取信息,然后从自己的缓存中提供信息。

因此,您有几个选择:

更改发布日期,并在每次编辑时稍微修改permalink slug,使其看起来像一个新项目,在准备好之前不要发布。虽然这不是一个直接的答案,但我不得不问你为什么要这样做。如果你不断地更新同一篇文章/内容,那么你就无法从为什么人们订阅RSS开始。虽然我确信这样做是有原因的,但我个人会退订一个网站,该网站基本上用相同内容的多个版本来抨击我的读者。

结束

相关推荐

Updates for a private plugin?

如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点