File: /home/ayxmplky/public_html/wp-content/themes/tactic/header.php
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 指定360/QQ浏览器使用 Webkit 内核 -->
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<header class="site-header" id="site-header" role="banner">
<div class="container header__inner">
<!-- Логотип -->
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="header__logo" aria-label="<?php bloginfo( 'name' ); ?>">
<?php
if ( has_custom_logo() ) {
the_custom_logo();
} else {
echo '<span class="header__logo-text">' . esc_html( get_bloginfo( 'name' ) ) . '</span>';
}
?>
</a>
<!-- Основная навигация -->
<nav class="header__nav" id="site-nav" aria-label="<?php echo esc_attr( tactic_s( 'nav_aria' ) ); ?>">
<?php
$menu_html = wp_nav_menu( [
'theme_location' => 'primary',
'container' => false,
'menu_class' => 'nav__list',
'items_wrap' => '<ul id="%1$s" class="%2$s" role="list">%3$s</ul>',
'fallback_cb' => false,
'echo' => false,
] );
if ( $menu_html ) {
// Скрываем вкладку Awards в шапке независимо от настроек меню.
$menu_html = preg_replace( '/<li[^>]*>\s*<a[^>]*href=["\'][^"\']*\/awards\/?["\'][^>]*>.*?<\/a>\s*<\/li>/is', '', $menu_html );
$home_url = esc_url( home_url( '/' ) );
$home_label = esc_html( tactic_s( 'nav_home' ) );
$home_class = 'menu-item menu-item-home';
$home_exists = (bool) preg_match( '/href=["\']' . preg_quote( $home_url, '/' ) . '["\']/', $menu_html );
if ( is_front_page() || is_home() ) {
$home_class .= ' current-menu-item';
}
if ( ! $home_exists ) {
$home_item = '<li class="' . esc_attr( $home_class ) . '"><a href="' . $home_url . '">' . $home_label . '</a></li>';
$menu_html = preg_replace( '/(<ul[^>]*>)/', '$1' . $home_item, $menu_html, 1 );
}
echo $menu_html;
} else {
tactic_fallback_nav();
}
?>
</nav>
<!-- Переключатель языка + кнопка мобильного меню -->
<div class="header__actions">
<?php
$_lang_other = ( tactic_current_lang() === 'zh' ) ? 'en' : 'zh';
$_lang_label = ( $_lang_other === 'en' ) ? 'EN' : '中文';
$_lang_url = esc_url( add_query_arg( 'lang', $_lang_other ) );
?>
<a class="lang-toggle" href="<?php echo $_lang_url; ?>" hreflang="<?php echo esc_attr( $_lang_other ); ?>" aria-label="<?php echo esc_attr( $_lang_label ); ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="12" cy="12" r="10"/>
<line x1="2" y1="12" x2="22" y2="12"/>
<path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>
</svg>
</a>
<button class="hamburger" id="hamburger"
aria-label="<?php echo esc_attr( tactic_s( 'menu_btn_aria' ) ); ?>"
aria-expanded="false"
aria-controls="site-nav">
<span class="hamburger__line"></span>
<span class="hamburger__line"></span>
<span class="hamburger__line"></span>
</button>
</div>
</div>
</header>
<?php
function tactic_fallback_nav(): void {
echo '<ul class="nav__list" role="list">
<li><a href="' . esc_url( home_url( '/' ) ) . '">' . esc_html( tactic_s( 'nav_home' ) ) . '</a></li>
<li><a href="' . esc_url( home_url( '/about/' ) ) . '">' . esc_html( tactic_s( 'nav_about' ) ) . '</a></li>
<li><a href="' . esc_url( home_url( '/news/' ) ) . '">' . esc_html( tactic_s( 'nav_blog' ) ) . '</a></li>
<li><a href="' . esc_url( home_url( '/contact/' ) ) . '">' . esc_html( tactic_s( 'nav_contact' ) ) . '</a></li>
</ul>';
}