Ensure we strictly compare 'alloptions' and 'notoptions' when protecting these special options.
Trim and check for emptiness of $option in delete_option(), as done for get, update, and add. fixes #23289. git-svn-id: http://core.svn.wordpress.org/trunk@23510 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5c533c9b27
commit
699262666b
|
@ -104,8 +104,7 @@ function get_option( $option, $default = false ) {
|
|||
* @param string $option Option name.
|
||||
*/
|
||||
function wp_protect_special_option( $option ) {
|
||||
$protected = array( 'alloptions', 'notoptions' );
|
||||
if ( in_array( $option, $protected ) )
|
||||
if ( 'alloptions' === $option || 'notoptions' === $option )
|
||||
wp_die( sprintf( __( '%s is a protected WP option and may not be modified' ), esc_html( $option ) ) );
|
||||
}
|
||||
|
||||
|
@ -360,6 +359,10 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
|
|||
function delete_option( $option ) {
|
||||
global $wpdb;
|
||||
|
||||
$option = trim( $option );
|
||||
if ( empty( $option ) )
|
||||
return false;
|
||||
|
||||
wp_protect_special_option( $option );
|
||||
|
||||
// Get the ID, if no ID then return
|
||||
|
|
Loading…
Reference in New Issue