# betterdocs/4.9.3/views/layout-parts/header.php

BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ &amp; Chatbot, version 4.9.3. 36 lines.

- Page: https://pluginprobe.com/plugins/betterdocs/4.9.3/code/views/layout-parts/header.php
- Raw: https://pluginprobe.com/plugins/betterdocs/4.9.3/raw/views/layout-parts/header.php
- Modified: 2026-06-23T11:52:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/betterdocs/4.9.3/code/views/layout-parts/header.php#L10-L20`.

```php
<?php
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- view template receives variables via extract(); prefixing is impractical.
	
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
$_defined_vars    = get_defined_vars();

	$_layout_sequence = [ 'category_icon', 'category_title', 'category_counts' ];

	if ( $layout === 'layout-2' && $widget_type == 'category-grid' ) {
		$_layout_sequence = [ 'category_counts', 'category_title' ];
	}

	if ( $layout === 'layout-3' && $widget_type == 'category-grid' ) {
		$_layout_sequence = [ 'category_icon', 'category_title' ];
	}

	$_defined_vars    = apply_filters( 'betterdocs_header_defined_vars', $_defined_vars, $layout, $widget_type );
	$_layout_sequence = apply_filters( 'betterdocs_header_layout_sequence', $_layout_sequence, $layout, $widget_type, $_defined_vars );
?>

<div class="betterdocs-category-header">
	<div class="betterdocs-category-header-inner">
		<?php
		foreach ( $_layout_sequence as $sequenceName ) {
			if ( is_array( $sequenceName ) && ! empty( $sequenceName ) ) {
				betterdocs()->template_helper->wrapper_div( array_merge( $_defined_vars, $sequenceName ) );
			} else {
				betterdocs()->template_helper->{$sequenceName}( $_defined_vars );
			}
		}
		?>
	</div>
</div>

```
