我将首先确定最友好的方法来解决这一问题。我认为点击发布后/更新按钮后会发出警告。如果用户在上一篇帖子发布后2分钟内再次访问,则可以阻止编辑帖子屏幕加载。但我认为这并不实际,我也不明白为什么需要重定向。不允许发布完成,但允许用户创建草稿,怎么样?
在发布过程中进行检查,除非您受到前面提到的攻击,否则很少有用户会看到任何类型的警告。。。
add_action( "publish_post", \'limit_post_frequency\' );
function limit_post_frequency(){
/* here you could store the time() in user meta, if no existing value found.
If the time() meta value already exists, check if it is 120 seconds in the past.
If 120 seconds in the past, update the user meta value with time()
Else
Do a WP notice letting user know they need to wait, you could calculate how
long they have to wait.
*/
}
如果使用我的方法。我会考虑在用户元值中存储一个数组,并包括尝试次数。如果用户尝试提交的次数过多,您可以将其视为安全问题并自动处理。
更新:我想添加一个关于安全性的注释。如果考虑到垃圾邮件发送者的局限性,那么他们可以使用我的方法创建大量草稿。可能存在自动删除草稿的解决方案。向作者发送电子邮件提醒,提醒他们草稿即将过期,甚至在删除帖子时向他们发送一份邮件副本,这很容易。
还要记住,帖子是可以安排的。因此,您的作者可以在达到每日限制(例如20天)后创建草稿,但可以创建计划并自动发布的草稿。我想我会喜欢创建一个插件来处理这个问题,所以我把它添加到了我的待办事项列表中。