From f6d1e9c634c67c717242eb5aec35398223153134 Mon Sep 17 00:00:00 2001 From: nacin Date: Sat, 13 Nov 2010 09:45:57 +0000 Subject: [PATCH] Only a static class method or function can be used in an uninstall hook. props scribu, fixes #13786. git-svn-id: http://svn.automattic.com/wordpress/trunk@16339 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/plugin.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php index e7d3e83fa..b7f06464e 100644 --- a/wp-includes/plugin.php +++ b/wp-includes/plugin.php @@ -656,9 +656,14 @@ function register_deactivation_hook($file, $function) { * @since 2.7 * * @param string $file - * @param callback $callback The callback to run when the hook is called. + * @param callback $callback The callback to run when the hook is called. Must be a static method or function. */ -function register_uninstall_hook($file, $callback) { +function register_uninstall_hook( $file, $callback ) { + if ( is_array( $callback ) && is_object( $callback[0] ) ) { + _deprecated_argument( __FUNCTION__, '3.1', __( 'Only a static class method or function can be used in an uninstall hook.' ) ); + return; + } + // The option should not be autoloaded, because it is not needed in most // cases. Emphasis should be put on using the 'uninstall.php' way of // uninstalling the plugin.