From 5edfa78c0b991c9af52bbd2c19aebe892782c1c1 Mon Sep 17 00:00:00 2001 From: Erick Hitter <ehitter@gmail.com> Date: Sat, 29 Jun 2013 17:25:06 -0400 Subject: [PATCH] Convert get_settings() method to use a static variable store --- wp-revisions-control.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/wp-revisions-control.php b/wp-revisions-control.php index d80309d..d45abde 100644 --- a/wp-revisions-control.php +++ b/wp-revisions-control.php @@ -32,6 +32,7 @@ class WP_Revisions_Control { * Class variables */ private static $post_types = array(); + private static $settings = array(); private $settings_page = 'writing'; private $settings_section = 'wp_revisions_control'; @@ -172,20 +173,24 @@ class WP_Revisions_Control { * @return array */ private function get_settings() { - $post_types = $this->get_post_types(); + if ( empty( self::$settings ) ) { + $post_types = $this->get_post_types(); - $settings = get_option( $this->settings_section, array() ); + $settings = get_option( $this->settings_section, array() ); - $merged_settings = array(); + $merged_settings = array(); - foreach ( $post_types as $post_type => $name ) { - if ( array_key_exists( $post_type, $settings ) ) - $merged_settings[ $post_type ] = (int) $settings[ $post_type ]; - else - $merged_settings[ $post_type ] = -1; + foreach ( $post_types as $post_type => $name ) { + if ( array_key_exists( $post_type, $settings ) ) + $merged_settings[ $post_type ] = (int) $settings[ $post_type ]; + else + $merged_settings[ $post_type ] = -1; + } + + self::$settings = $merged_settings; } - return $merged_settings; + return self::$settings; } /** -- GitLab