如何正确关闭整个网站以及仅自定义帖子类型的REVISIONS和AUTOSAVE


13

是否可以在我的主题中添加一个挂钩/功能组合,functions.php以在整个wordpress安装中正确禁用REVISIONS和AUTOSAVE?如果仅针对特定的自定义帖子类型怎么办?在线搜索提供各种黑客手段,从注销脚本到篡改核心文件。什么是可接受/正确的方法来做到这一点?


这是更好的解决方案stackoverflow.com/a/30821376/2377343
T.Todua

如何在wordpress.com网站上禁用帖子修订?
桑托什·库马尔

Answers:


16

这应该放在您的位置wp-config.php(别无其他位置):

define( 'AUTOSAVE_INTERVAL', 60*60*60*24*365 ); // Set autosave interval to 1x per year
define( 'EMPTY_TRASH_DAYS',  0 ); // Empty trash now: Zero days
define( 'WP_POST_REVISIONS', false ); // Do not save andy revisions

更新:当我添加该AUTOSAVE_INTERVAL行时,它使帖子编辑器页面不断运行javascript指令,以启用/禁用[更新](以及在新帖子上的[保存草稿])按钮,这最终也会使我所有其他浏览器选项卡变多反应迟钝(gchrome18)。嗯...有什么想法吗?
安娜·班

是的,(适当地)意味着它正在不断更新。尝试将其更改为20000000000,应该会超过一年。
kaiser 2012年

这会禁用tinyMCE的自动保存插件吗?看起来它只是设置了一个很大的间隔。
Michael Rogers

@MichaelRogers好吧,如果您认为一年还不够,请尝试一下;)
kaiser

1
@JossieCalderon取决于您在哪里设置。define不能覆盖A ,因此请打开错误报告并确保将其放在中wp-config.php
kaiser

0

我也在寻找如何禁用自动保存。但是这是我在Trac票中被告知的内容:

如果您确实需要此功能,则应该自己在自定义字段中管理顺序ID,然后实施自定义URL路由。要实现这一目标应该不难。


嗨@wikicms我对ID很酷,但感谢您的发帖。肯定对那里的人有用,甚至将来对我也有用。
安娜·班

-2

将定义放在wp-config.php中是可以的,直到每两分钟在Debug.log中获得“已经定义”的PHP通知时打开WP_DEBUG。其他人则声称将这些定义放在ABSPATH定义之上会有所帮助。

但是,我可以明确地确定放置定义的最佳位置是在插件中,因为激活的插件是在WP默认定义之前加载的。

默认定义将通过if测试进行保护,因此,您的插件加载的定义将具有优先权,并且不会在调试日志中引起冲突或重复的PHP通知。


1
不,wp-config.php是唯一正确的地方。如果遇到错误,则其他地方的一些损坏代码将尝试再次定义它。删除该代码。
fuxia

@toscho为什么是wp-config.php唯一正确的地方?你能详细说明吗?
jdevlin 2014年

2
@JamesDevlin可维护性和调试。您可以在受严格控制的环境中执行此操作,但是如果将其放置在中时出错wp-config.php,则其他问题会损坏,移动定义不是解决方案。
fuxia
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.