From c6043b2fa2317ab4a36494072b2fc6fcaadde2a8 Mon Sep 17 00:00:00 2001 From: Daryl Koopersmith Date: Wed, 21 Mar 2012 04:59:57 +0000 Subject: [PATCH] Theme Customizer: Improve WP_Customize_Setting->check_capabilities(). Add support for arrays in WP_Customize_Setting->capability and WP_Customize_Setting->theme_supports. Don't bail when WP_Customize_Setting->capability is empty. see #19910. git-svn-id: https://develop.svn.wordpress.org/trunk@20232 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/class-wp-customize-section.php | 4 ++-- wp-includes/class-wp-customize-setting.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/wp-includes/class-wp-customize-section.php b/wp-includes/class-wp-customize-section.php index 772351e76d..478bc29dd7 100644 --- a/wp-includes/class-wp-customize-section.php +++ b/wp-includes/class-wp-customize-section.php @@ -46,10 +46,10 @@ class WP_Customize_Section { * @return bool False if theme doesn't support the section or user doesn't have the capability. */ function check_capabilities() { - if ( ! $this->capability || ! current_user_can( $this->capability ) ) + if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) return false; - if ( $this->theme_supports && ! current_theme_supports( $this->theme_supports ) ) + if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) ) return false; return true; diff --git a/wp-includes/class-wp-customize-setting.php b/wp-includes/class-wp-customize-setting.php index b01a13fcb3..82369d7a63 100644 --- a/wp-includes/class-wp-customize-setting.php +++ b/wp-includes/class-wp-customize-setting.php @@ -267,10 +267,10 @@ class WP_Customize_Setting { public final function check_capabilities() { global $customize; - if ( ! $this->capability || ! current_user_can( $this->capability ) ) + if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) return false; - if ( $this->theme_supports && ! current_theme_supports( $this->theme_supports ) ) + if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) ) return false; $section = $customize->get_section( $this->section );