Поверните ревизии в плагине вместо config.php?

Есть ли функция для установки WP_POST_REVISIONS из плагина вместо того, чтобы делать это в config.php? Я думал об этом:

runkit_constant_redefine( 'WP_POST_REVISIONS', 0 ); 

но это ставит зависимость от runkit, скомпилированного в PHP, который я не уверен, является обычным / типичным.

Я хочу полностью отменить ревизии, и я хотел бы, чтобы мой (узкий, специальный) плагин был как можно «под ключ»; не требуя других настроек или ручных настроек.

Solutions Collecting From Web of "Поверните ревизии в плагине вместо config.php?"

  1. Создайте no-revs.php
  2. Установите содержимое в <?php defined('WP_POST_REVISIONS') or define ('WP_POST_REVISIONS', false);
  3. Поместите его в папку «Использовать плагины», расположенную в wp-content/mu-plugins .

Имейте в виду; Рекомендуется избегать по крайней мере трех исправлений, чтобы избежать потери данных.

Вы можете попробовать фильтр wp_revisions_to_keep чтобы переопределить значение константы WP_POST_REVISIONS :

 /** * Turn off revisions */ add_filter( 'wp_revisions_to_keep', function( $num, $post ) { //--------------------------------- // Adjust the $num to your needs //--------------------------------- if ( post_type_supports( $post->post_type, 'revisions' ) ) $num = 0; return $num; }, PHP_INT_MAX, 2 ); 

Если $num равно -1 мы сохраняем все изменения. Если $num равно 0 мы не храним их.

Чтобы отключить его, мы могли бы также попытаться удалить поддержку ревизий с помощью remove_post_type_support () :

 /** * Remove revisions support for posts */ add_action( 'init', function() { remove_post_type_support( $post_type = 'post', $supports = 'revisions' ); } );