public static function developer_warn($message, $show_backtrace = true) { if (!WP_DEBUG) { return; } it_classes_load('it-debug.php'); $backtrace = ITDebug::get_backtrace(array('offset' => 2, 'remove_abspath' => false)); echo "<pre style='color:black;background:white;padding:15px;font-family:\"Courier New\",Courier,monospace;font-size:12px;text-align:left;max-width:100%;'>"; echo "<strong>Developer Notice</strong>\n"; echo " {$message}\n\n"; echo "<strong>Stack Backtrace</strong>\n"; foreach ($backtrace as $trace) { echo ' ' . ITDebug::get_backtrace_description($trace) . "\n"; } echo "</pre>\n"; }
public static function get_backtrace($args = array()) { if (is_bool($args)) { $args = array('expand_objects' => $args); } else { if (!is_array($args)) { $args = array(); } } $default_args = array('expand_objects' => false, 'limit' => 0, 'offset' => 0, 'type' => 'array'); $args = array_merge($default_args, $args); $backtrace = debug_backtrace(); unset($backtrace[0]); if ($args['offset'] > 0) { $backtrace = array_slice($backtrace, $args['offset']); } if ($args['limit'] > 0) { $backtrace = array_slice($backtrace, 0, $args['limit']); } $backtrace = array_values($backtrace); if ('string' == $args['type']) { $string_backtrace = ''; foreach ($backtrace as $trace) { $string_backtrace .= ITDebug::get_backtrace_description($trace, $args) . "\n"; } $backtrace = $string_backtrace; } return $backtrace; }