﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
22256	Hook namespacing	scribu		"Currently, callbacks passed to add_action() and add_filter() are already sort of namespaced by the hook name, by priority and by the callback itself. You need to know all of them in order to use `remove_action()` successfully.

Acquiring the callback is especially problematic when it's:

* an instance method, and you don't have access to the instance
* a PHP 5.3 closure

Introducing namespaces for hooks, similar to jQuery's [http://docs.jquery.com/Namespaced_Events namespaced events], would not only take care of that problem, but also enable things like removing all callbacks added by plugin X, regardless of hook name or anything else.

Proposed syntax:

{{{
add_action( 'after_setup_theme:twentytwelve', function() {
  // do stuff
}

add_action( 'after_setup_theme:twentytwelve', function() {
  // do more stuff
}

add_filter( 'posts_clauses:p2p', function( $clauses ) {
  // do stuff
}
}}}

Later:

{{{
// remove specific callbacks added by the Twentytwelve theme
remove_action( 'after_setup_theme:twentytwelve' );

// remove all callbacks added by the P2P plugin
remove_action( '*:p2p' );
}}}

Source: http://core.trac.wordpress.org/ticket/22250#comment:14"	enhancement	new	normal	Awaiting Review	Plugins		normal			brian@… xoodrew@… info@… knut@…
