From 1c12fc91657503f2477fdc6a4508bd8c4594b65f Mon Sep 17 00:00:00 2001 From: Peter Westwood Date: Sat, 3 Oct 2009 21:40:27 +0000 Subject: [PATCH] Make the (add|get|update)_site_option functions run the same filters in WP as they do in mu. Fixes #10893. git-svn-id: https://develop.svn.wordpress.org/trunk@11995 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/functions.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index b6cf92f37b..faa4853e01 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -3158,17 +3158,31 @@ function wp_suspend_cache_invalidation($suspend = true) { } function get_site_option( $key, $default = false, $use_cache = true ) { - return get_option($key, $default); + // Allow plugins to short-circuit site options. + $pre = apply_filters( 'pre_site_option_' . $key, false ); + if ( false !== $pre ) + return $pre; + + $value = get_option($key, $default); + + return apply_filters( 'site_option_' . $key, $value ); } // expects $key, $value not to be SQL escaped function add_site_option( $key, $value ) { - return add_option($key, $value); + $value = apply_filters( 'pre_add_site_option_' . $key, $value ); + $result = add_option($key, $value); + do_action( "add_site_option_{$key}", $key, $value ); + return $result; } // expects $key, $value not to be SQL escaped function update_site_option( $key, $value ) { - return update_option($key, $value); + $oldvalue = get_site_option( $key ); + $value = apply_filters( 'pre_update_site_option_' . $key, $value, $oldvalue ); + $result = update_option($key, $value); + do_action( "update_site_option_{$key}", $key, $value ); + return $result; } /**