| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php//Backcompat for pre this function making it into WordPressif ( ! function_exists( 'wp_debug_backtrace_summary' ) ) {	/**	 * Return a comma separated string of functions that have been called to get to the current point in code.	 * @link http://core.trac.wordpress.org/ticket/19589	 * @since 3.4	 *	 * @param string $ignore_class A class to ignore all function calls within - useful when you want to just give info about the callee	 * @param string $skip_frames A number of stack frames to skip - useful for unwinding back to the source of the issue	 * @param bool $pretty Whether or not you want a comma separated string or raw array returned	 * @return string|array Either a string containing a reversed comma separated trace or an array of individual calls.	 */	function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {		$trace  = debug_backtrace( false );		$caller = array();		$check_class = ! is_null( $ignore_class );		$skip_frames++; // skip this function			foreach ( $trace as $call ) {			if ( $skip_frames > 0 ) {				$skip_frames--;			} elseif ( isset( $call['class'] ) ) {				if ( $check_class && $ignore_class == $call['class'] )					continue; // Filter out calls					$caller[] = "{$call['class']}{$call['type']}{$call['function']}";			} else {				if ( in_array( $call['function'], array( 'do_action', 'apply_filters' ) ) ) {					$caller[] = "{$call['function']}('{$call['args'][0]}')";				} elseif ( in_array( $call['function'], array( 'include', 'include_once', 'require', 'require_once' ) ) ) {					$caller[] = $call['function'] . "('" . str_replace( array( WP_CONTENT_DIR, ABSPATH ) , '', $call['args'][0] ) . "')";				} else {					$caller[] = $call['function'];				}			}		}		if ( $pretty )			return join( ', ', array_reverse( $caller ) );		else			return $caller;	}}?>
 |