Как правильно отключить REVISIONS и AUTOSAVE для всего сайта и отдельно для произвольного типа записи

13 апр. 2012 г., 11:45:04
Просмотры: 15.3K
Голосов: 12

Существует ли комбинация хуков/функций, которую можно добавить в functions.php моей темы, чтобы правильно отключить REVISIONS и AUTOSAVE для всей установки WordPress? А если нужно отключить только для определённого типа записей? Поиск в интернете выдаёт различные хаки - от дерегистрации скриптов до вмешательства в файлы ядра. Какой способ считается правильным/приемлемым?

2
Комментарии

Вот лучшее решение: http://stackoverflow.com/a/30821376/2377343

T.Todua T.Todua
2 февр. 2016 г. 16:30:09

Как отключить ревизии записей на сайте wordpress.com?

Santosh Kumar Santosh Kumar
11 дек. 2016 г. 21:12:26
Все ответы на вопрос 3
7
15

Этот код должен быть размещён в вашем файле wp-config.php (и нигде больше):

define( 'AUTOSAVE_INTERVAL', 60*60*60*24*365 ); // Установить интервал автосохранения 1 раз в год
define( 'EMPTY_TRASH_DAYS',  0 ); // Очищать корзину немедленно: Ноль дней
define( 'WP_POST_REVISIONS', false ); // Не сохранять ревизии
13 апр. 2012 г. 14:59:39
Комментарии

обновление: когда я добавляю строку с AUTOSAVE_INTERVAL, это заставляет страницу редактора записи постоянно выполнять javascript-инструкцию, которая включает/отключает кнопки [Обновить] (и [Сохранить черновик] для новой записи), что в конечном итоге значительно снижает отзывчивость всех остальных вкладок в браузере (gchrome18). Хм... какие мысли?

Ana Ban Ana Ban
14 апр. 2012 г. 05:05:51

Да, это (вероятно) означает, что он делает постоянные обновления. Попробуй изменить значение на 20000000000, что должно составлять чуть больше года.

kaiser kaiser
15 апр. 2012 г. 03:48:21

Отключает ли это функцию автосохранения плагина tinyMCE? Похоже, это лишь устанавливает очень большой интервал.

Michael Rogers Michael Rogers
12 июн. 2017 г. 17:16:31

@MichaelRogers Ну, если год кажется вам недостаточным сроком, попробуйте целую жизнь ;)

kaiser kaiser
12 июн. 2017 г. 22:17:10

Привет, я сделал это, но моя установка Wordpress всё равно сохраняет черновики автоматически. В чём дело? @kaiser

Jossie Calderon Jossie Calderon
13 авг. 2018 г. 23:08:01

@JossieCalderon Зависит от того, где вы это установили. define нельзя переопределить, так что включите вывод ошибок и убедитесь, что вы разместили это в вашем wp-config.php.

kaiser kaiser
14 авг. 2018 г. 01:38:17

Чтобы отключить автосохранение в редакторе Gutenberg для WordPress 5.0+ ознакомьтесь с https://stackoverflow.com/questions/10234271/wordpress-auto-draft-disabling/65420515#65420515

Chengmin Chengmin
23 дек. 2020 г. 09:35:45
Показать остальные 2 комментариев
1

Я также ищу способ отключить автосохранение. Но вот что мне ответили в тикете Trac:

Если вам действительно нужна эта функция, вы должны управлять последовательными ID самостоятельно в пользовательском поле, а затем реализовать пользовательскую маршрутизацию URL. Это не должно быть слишком сложно сделать.

13 апр. 2012 г. 14:52:13
Комментарии

привет @wikicms, меня устраивают идентификаторы, но спасибо за публикацию. определённо полезно для кого-то там, или даже для меня в будущем.

Ana Ban Ana Ban
14 апр. 2012 г. 05:42:12
3
-2

Размещение определений (defines) в файле wp-config.php подходит до тех пор, пока вы не включите WP_DEBUG, после чего начнёте получать уведомления PHP 'already defined' в debug.log каждые несколько минут. Некоторые утверждают, что размещение этих определений выше определения ABSPATH поможет.

Однако я могу категорически подтвердить, что лучшее место для ваших определений — это плагин, потому что активированные плагины загружаются до стандартных определений WordPress.

Стандартные определения защищены проверками на существование (if exists), поэтому определения, загруженные вашим плагином, будут иметь приоритет и не вызовут конфликтов или повторяющихся уведомлений PHP в логе отладки.

20 сент. 2013 г. 23:22:51
Комментарии

Нет, wp-config.php — это единственное правильное место. Если вы получаете ошибки, значит какой-то сломанный код пытается определить константы повторно. Удалите этот код.

fuxia fuxia
20 сент. 2013 г. 23:39:55

@toscho Почему wp-config.php — это единственное правильное место? Можете пояснить?

jdevlin jdevlin
29 мая 2014 г. 01:02:29

@JamesDevlin Для удобства поддержки и отладки. Технически вы можете делать это в очень контролируемой среде, но если вы получаете ошибки при размещении в wp-config.php, значит что-то сломано, и перенос определений — не решение проблемы.

fuxia fuxia
29 мая 2014 г. 01:35:04