PluginProbe
Admin and Site Enhancements (ASE) / 8.7.2
Admin and Site Enhancements (ASE) v8.7.2
9.1.1 9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 All 273 releases
admin-site-enhancements / classes / class-revisions-control.php
class-revisions-control.php
37 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class for Revisions Control module
7 *
8 * @since 6.9.5
9 */
10 class Revisions_Control {
11 /**
12 * Limit the number of revisions for post types
13 *
14 * @since 3.7.0
15 */
16 public function limit_revisions_to_max_number( $num, $post ) {
17 $options = get_option( ASENHA_SLUG_U, array() );
18 $revisions_max_number = ( isset( $options['revisions_max_number'] ) ? $options['revisions_max_number'] : 10 );
19 $for_post_types = ( isset( $options['enable_revisions_control_for'] ) && is_array( $options['enable_revisions_control_for'] ) ? $options['enable_revisions_control_for'] : array() );
20 $revisions_control_type = 'only-on';
21 // Assemble single-dimensional array of post type slugs for which revisions is being limited.
22 $limited_post_types = array();
23 foreach ( $for_post_types as $post_type_slug => $post_type_is_limited ) {
24 if ( $post_type_is_limited ) {
25 $limited_post_types[] = $post_type_slug;
26 }
27 }
28 // Change revisions number to keep if set for the post type as such.
29 $post_type = ( is_object( $post ) && property_exists( $post, 'post_type' ) ? $post->post_type : '' );
30 if ( 'only-on' === $revisions_control_type && in_array( $post_type, $limited_post_types, true ) ) {
31 $num = $revisions_max_number;
32 }
33 return $num;
34 }
35
36 }
37