Add blacklist to remove_theme_support(). fixes #12739.

git-svn-id: https://develop.svn.wordpress.org/trunk@13902 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin 2010-03-31 09:06:11 +00:00
parent 0fe9892137
commit 47d995c72a
1 changed files with 15 additions and 3 deletions

View File

@ -1531,7 +1531,9 @@ function add_editor_style( $stylesheet = 'editor-style.css' ) {
/**
* Allows a theme to register its support of a certain feature
*
* Must be called in the themes functions.php file to work.
* Must be called in the theme's functions.php file to work.
* If attached to a hook, it must be after_setup_theme.
* The init hook may be too late for some features.
*
* @since 2.9.0
* @param string $feature the feature being added
@ -1548,15 +1550,25 @@ function add_theme_support( $feature ) {
/**
* Allows a theme to de-register its support of a certain feature
*
* Must be called in the themes functions.php file to work.
* Should be called in the theme's functions.php file. Generally would
* be used for child themes to override support from the parent theme.
*
* @since 3.0.0
* @see add_theme_support()
* @param string $feature the feature being added
* @return bool Whether feature was removed.
*/
function remove_theme_support( $feature ) {
// Blacklist: for internal registrations not used directly by themes.
if ( in_array( $feature, array( 'custom-background', 'custom-header', 'editor-style', 'widgets' ) ) )
return false;
global $_wp_theme_features;
unset($_wp_theme_features[$feature]);
if ( ! isset( $_wp_theme_features[$feature] ) )
return false;
unset( $_wp_theme_features[$feature] );
return true;
}
/**