Debug_Bar_Pretty_Output::unset_recursion_limit PHP Method

unset_recursion_limit() public static method

Reset the recusion limit to it's default (unlimited).
Since: 1.4
public static unset_recursion_limit ( )
        public static function unset_recursion_limit()
        {
            self::$limit_recursion = false;
        }

Usage Example

        /**
         * Render the tab content.
         */
        public function render()
        {
            $wp_post_types = $GLOBALS['wp_post_types'];
            $names = array_keys($wp_post_types);
            $custom_pt = array();
            $properties = array();
            $custom_prop = array();
            $labels = array();
            $caps = array();
            $count = count($wp_post_types);
            $count_cpt = 0;
            $double = $count > 4 ? true : false;
            // Whether to repeat the row labels on the other side of the table.
            if (!class_exists('Debug_Bar_Pretty_Output')) {
                require_once plugin_dir_path(__FILE__) . 'inc/debug-bar-pretty-output/class-debug-bar-pretty-output.php';
            }
            // Limit recursion depth if possible - method available since DBPO v1.4.
            if (method_exists('Debug_Bar_Pretty_Output', 'limit_recursion')) {
                Debug_Bar_Pretty_Output::limit_recursion(2);
            }
            echo '
		<h2><span>', esc_html__('Total Post Types:', self::DBPT_NAME), '</span>', absint($count), '</h2>';
            if (is_array($wp_post_types) && $count > 0) {
                /**
                 * Put the relevant info in arrays.
                 */
                foreach ($wp_post_types as $name => $post_type_obj) {
                    $props = get_object_vars($post_type_obj);
                    if (is_array($props) && $props !== array()) {
                        foreach ($props as $key => $value) {
                            // Add to list of custom post_types.
                            if ($key === '_builtin' && $value !== true) {
                                $custom_pt[] = $name;
                            }
                            if (is_object($value) && in_array($key, array('cap', 'labels'), true)) {
                                $object_vars = get_object_vars($value);
                                if (is_array($object_vars) && $object_vars !== array()) {
                                    foreach ($object_vars as $k => $v) {
                                        if ($key === 'cap') {
                                            $caps[$v][$name] = $v;
                                        } else {
                                            if ($key === 'labels') {
                                                $labels[$k][$name] = $v;
                                            }
                                        }
                                    }
                                    unset($k, $v);
                                }
                                unset($object_vars);
                            } else {
                                // Standard properties.
                                if (property_exists($wp_post_types['post'], $key)) {
                                    $properties[$key][$name] = $value;
                                } else {
                                    $custom_prop[$key][$name] = $value;
                                }
                            }
                        }
                        unset($key, $value);
                    }
                    unset($props);
                }
                unset($name, $post_type_obj);
                if ($custom_pt !== array()) {
                    $count_cpt = count($custom_pt);
                    echo '
		<h2><span>', esc_html__('Custom Post Types:', self::DBPT_NAME), '</span>', absint($count_cpt), '</h2>';
                }
                /* Create the properties table for the standard properties. */
                if (count($properties) > 0) {
                    $this->render_property_table($properties, $names, __('Standard Post Type Properties:', self::DBPT_NAME), $double);
                }
                /* Create the properties table for the custom properties. */
                if (count($custom_prop) > 0) {
                    $this->render_property_table($custom_prop, $custom_pt, __('Custom Post Type Properties:', self::DBPT_NAME), $count_cpt > 4 ? true : false);
                }
                /* Create the capabilities table. */
                if (count($caps) > 0) {
                    $this->render_capability_table($caps, $names, $double);
                }
                /* Create the table for the defined labels. */
                if (count($labels) > 0) {
                    $this->render_property_table($labels, $names, __('Defined Labels:', self::DBPT_NAME), $double);
                }
            } else {
                echo '<p>', esc_html__('No post types found.', self::DBPT_NAME), '</p>';
            }
            unset($names, $properties, $caps);
            // Unset recursion depth limit if possible - method available since DBPO v1.4.
            if (method_exists('Debug_Bar_Pretty_Output', 'unset_recursion_limit')) {
                Debug_Bar_Pretty_Output::unset_recursion_limit();
            }
        }
All Usage Examples Of Debug_Bar_Pretty_Output::unset_recursion_limit