Files
edukarsa/header.php
T

135 lines
5.9 KiB
PHP

<?php defined( 'ABSPATH' ) || exit; ?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="site-header">
<div class="container header-container">
<div class="site-branding">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="logo-link">
<?php
$header_logo = get_option('edukarsa_header_logo');
if ( ! empty( $header_logo ) ) :
?>
<img src="<?php echo esc_url( $header_logo ); ?>" alt="<?php bloginfo( 'name' ); ?>" style="max-height: 52px; object-fit: contain;">
<?php else : ?>
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<?php endif; ?>
</a>
</div>
<!-- Area Navigasi & Bahasa -->
<div class="header-nav-wrap">
<nav class="main-navigation" id="site-navigation">
<?php
wp_nav_menu( array(
'theme_location' => 'menu-utama',
'menu_id' => 'primary-menu',
'fallback_cb' => false,
'container' => false,
'menu_class' => 'nav-menu-custom'
) );
?>
</nav>
<!-- MULTI-LANGUAGE SWITCHER DINAMIS -->
<?php
if ( get_option( 'edukarsa_tampil_bilingual', 1 ) == 1 ) :
$available_langs = array( 'id' => 'ID' );
if ( get_option( 'edukarsa_lang_en', 1 ) == 1 ) $available_langs['en'] = 'EN';
if ( get_option( 'edukarsa_lang_ar', 0 ) == 1 ) $available_langs['ar'] = 'AR';
if ( get_option( 'edukarsa_lang_zh', 0 ) == 1 ) $available_langs['zh-CN'] = 'ZH';
if ( get_option( 'edukarsa_lang_ja', 0 ) == 1 ) $available_langs['ja'] = 'JA';
$incl_codes = implode( ',', array_keys( $available_langs ) );
?>
<div class="edukarsa-lang-switcher" id="lang-switcher">
<?php
$total = count( $available_langs );
$idx = 0;
foreach ( $available_langs as $code => $label ) :
$idx++;
?>
<button type="button" class="lang-btn" data-lang="<?php echo esc_attr( $code ); ?>"><?php echo esc_html( $label ); ?></button>
<?php if ( $idx < $total ) : ?><span class="lang-divider">|</span><?php endif; ?>
<?php endforeach; ?>
</div>
<div id="google_translate_element" style="display:none;"></div>
<?php endif; ?>
<!-- Tombol Hamburger Mobile -->
<button class="menu-toggle" id="mobile-menu-toggle" aria-label="Buka Menu Navigasi">
<span></span>
<span></span>
<span></span>
</button>
</div>
</div>
</header>
<?php if ( get_option( 'edukarsa_tampil_bilingual', 1 ) == 1 ) : ?>
<!-- SKRIP TRANSLASI NATIVE & PEMBERSIH TOOLBAR GOOGLE -->
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'id',
includedLanguages: '<?php echo esc_js( $incl_codes ); ?>',
autoDisplay: false
}, 'google_translate_element');
}
function changeLanguage(lang) {
var host = window.location.hostname;
if (lang === 'id') {
document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=" + host;
document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=." + host;
} else {
var cookieVal = '/id/' + lang;
document.cookie = "googtrans=" + cookieVal + "; path=/;";
document.cookie = "googtrans=" + cookieVal + "; path=/; domain=" + host;
document.cookie = "googtrans=" + cookieVal + "; path=/; domain=." + host;
}
window.location.reload();
}
document.addEventListener("DOMContentLoaded", function() {
// Cek status bahasa aktif
var match = document.cookie.match(/googtrans=\/id\/([a-zA-Z\-]+)/i);
var activeLang = match ? match[1] : 'id';
var buttons = document.querySelectorAll('.lang-btn');
buttons.forEach(function(btn) {
if (btn.getAttribute('data-lang').toLowerCase() === activeLang.toLowerCase()) {
btn.classList.add('active');
} else {
btn.classList.remove('active');
}
btn.addEventListener('click', function() {
var selected = this.getAttribute('data-lang');
changeLanguage(selected);
});
});
// Hapus pergeseran paksa body dari Google Translate
var killTranslateBar = function() {
if (document.body.style.top && document.body.style.top !== '0px') {
document.body.style.top = '0px';
}
var banner = document.querySelector('.goog-te-banner-frame, iframe.goog-te-banner-frame, .VIpgJd-ZVi9od-ORHb-OEVmcd');
if (banner) {
banner.style.display = 'none';
}
};
setInterval(killTranslateBar, 150);
});
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<?php endif; ?>