it-swarm.cn

发布更新RSS通知插件

每当我使用新信息更新旧帖子时,访问该网站的所有读者都可以看到它。 RSS源的读者不会获得更新并错过新信息。

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

1
neo

首先,这显然不是一个错误。 WordPress生成的订阅源按照发布日期排序,这既是有意义的,也是有意义的。

第二个RSS客户端唯一标识项目。在WP的具体情况下,__ feeds唯一标识符是guid字段,非漂亮(?p=xxx)永久链接。即使帖子被更改并返回到Feed中,其标识符仍然相同,并被RSS客户端视为已读。

在实践中,一些客户端将检测到已更改,有些则不会。在任何情况下,情况都会模棱两可,不可靠。

从可用性的角度来看,先前读取的项目在Feed中重新出现可能会让读者烦恼(对我个人而言,这就像地狱一样烦人)。

总结一下你想要的并非不可能,但(在我看来)与WordPress和RSS机制相悖。

考虑到你的条件(我假设有大量此类编辑),我建议使用更新条目列表定期摘要帖子。可以手动生成或通过代码生成。

2
Rarst

如何创建名为update的自定义元字段复选框。如果选中该框,则可以将短语[updated]附加到标题。

例如:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo '[Updated]'; the_title();  }else{ the_title(); } ?>

这将照顾到该网站的访问者

在RSS源中使用the_title_rss进行相同的操作

您可能希望使用wp_cron自动重置x值的时间值,除非您想手动返回并取消勾选该框

1
Ashley G

我想你可能会以错误的方式看待这个问题。您的旧帖子中的新信息对于两个网站和RSS源的观众都是可见的。也就是说,任何访问RSS提要after帖子的人都会看到最新版本。

确实,在帖子更新之前访问RSS提要的任何人都不知道何时可以获得新信息,但对于您网站的访问者来说也是如此。通知您的网站访问者和RSS消费者旧帖子已更新的唯一方法是创建一个新帖子,说明“嘿!我的帖子已经更新了!去看看。”

1
Doug

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

所以你有几个选择:

  1. 更改发布日期并在每次编辑时稍微修改永久链接段塞,使其看起来像一个新项目
  2. 在它准备好之前不要发布

虽然这不是一个直接的答案,但我不得不问你为什么要开始这样做。如果您不断更新相同的帖子/内容,那么您将无法使用人们订阅RSS的原因。虽然我确信有理由这样做,但我个人会取消订阅一个网站,该网站基本上会抨击我的读者使用相同内容的多个版本。

0
Norcross

RSS Feed是通过FeedBurner运行还是直接来自WP?

我听说FeedBurner可能会妨碍你做出最好的计划。

为什么不重新发布(如在c-p中)旧的新版本,如果您的订阅者真的需要看到它,请在其上添加[UPDATED]标记?

0
mitchellhislop

适合您的一些解决方案

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

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

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

另一个替代方法是存储最后修改过的,每当发布一个帖子时你也最近将广告修改后的帖子发布到RSS中的底部,并且在侧边栏中也有类似的内容。我其实喜欢这个选项,因为它增加了更多链接。

0
AndyBeard

我看到以下解决方案:Feed中帖子的阵容应按帖子的最后更新日期排序。我不确定Feed的情况是否已经存在。如果不是插件必须在查询后挂钩到Feed并更改排序顺序。

WP Minor Edit(Wordpress Plugin) 提供了您正在寻找的部分功能。它使用帖子的最后更新日期以及不更改日期。

如果现在另一个插件挂钩到Feed中,按照我的指定制作Feed,然后在Feed的每个标题上检查帖子数据是否是帖子的最后更新日期之外的其他内容,它只是添加[更新]标题。

完成。

0
hakre