_wp_filter_build_unique_id [ WordPress Function ]
| Access: |
|
| Parameters: |
|
| Links: | |
| Returns: |
|
| Defined at: |
|
Build Unique ID for storage and retrieval.
The old way to serialize the callback caused issues and this function is the solution. It works by checking for objects and creating an a new property in the class to keep track of the object and new objects of the same class that need to be added.
It also allows for the removal of actions and filters for objects after they change class properties. It is possible to include the property $wp_filter_id in your class and set it to "null" or a number to bypass the workaround. However this will prevent you from adding new classes and any new classes will overwrite the previous hook by the same class.
Functions and static method callbacks are just returned as strings and shouldn't have any speed penalty.
Source
<?php
function _wp_filter_build_unique_id($tag, $function, $priority) {
global $wp_filter;
static $filter_id_count = 0;
if ( is_string($function) )
return $function;
if ( is_object($function) ) {
// Closures are currently implemented as objects
$function = array( $function, '' );
} else {
$function = (array) $function;
}
if (is_object($function[0]) ) {
// Object Class Calling
if ( function_exists('spl_object_hash') ) {
return spl_object_hash($function[0]) . $function[1];
} else {
$obj_idx = get_class($function[0]).$function[1];
if ( !isset($function[0]->wp_filter_id) ) {
if ( false === $priority )
return false;
$obj_idx .= isset($wp_filter[$tag][$priority]) ? count((array)$wp_filter[$tag][$priority]) : $filter_id_count;
$function[0]->wp_filter_id = $filter_id_count;
++$filter_id_count;
} else {
$obj_idx .= $function[0]->wp_filter_id;
}
return $obj_idx;
}
} else if ( is_string($function[0]) ) {
// Static Calling
return $function[0].$function[1];
}
}
?>
Examples [ wp-snippets.com ]
Top Google zoekresultaten
- _wp_filter_build_unique_id
Function and Method Cross Reference. _wp_filter_build_unique_id(). Defined at: /wp-includes/plugin.php -> line 719. Referenced 3 times: ...
phpxref.ftwr.co.uk - #10535 (_wp_filter_build_unique_id issues with the first time a filter ...
The first time _wp_filter_build_unique_id is used to generate an ID the ID returned is different to the second time it is called. This presents a problem if the first ID ...
core.trac.wordpress.org - Howto use the has_filter wordpress function with an object based ...
Take a look at the _wp_filter_build_unique_id function defined at the bottom of wp-includes/plugin.php . That's where the array key for ...
stackoverflow.com - _wp_filter_build_unique_id (WordPress Function) - WPSeek.com
WordPress lookup for _wp_filter_build_unique_id, a WordPress Function. wpseek.com is a WordPress-centric search tool for developers and theme authors.
wpseek.com