fix(frontend): align top navigation with reference theme
This commit is contained in:
1 parent
1c501ff713
commit
9b27508a5b
12 files changed
+234
-607
No files matched your search
@@ -104,7 +104,7 @@ if (!function_exists('aksrt_footer_navbar_search')) :
|
||||
echo '<div mini-touch="nav_search" touch-direction="top" class="main-search fixed-body main-bg box-body navbar-search nopw-sm">';
|
||||
echo '<div class="container">';
|
||||
echo $remote; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
echo '<div class="search-close-box"><button type="button" class="but cir" data-toggle-class data-target=".navbar-search" aria-label="'
|
||||
echo '<div class="mb20 search-close-box"><button type="button" class="but cir" data-toggle-class data-target=".navbar-search" aria-label="'
|
||||
. esc_attr__('关闭搜索', 'aksrt') . '"><svg class="ic-close" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></button></div>';
|
||||
echo '</div></div>';
|
||||
}
|
||||
|
||||
@@ -63,9 +63,13 @@ if (!function_exists('aksrt_nav_mobile_content')) :
|
||||
if (in_array('m_menu', (array) ($ctx['theme_positions'] ?? []), true)) {
|
||||
$top_btns .= '<a href="javascript:;" class="toggle-theme toggle-radius" id="theme-toggle-mobile" title="'
|
||||
. esc_attr__('切换亮暗色', 'aksrt') . '">';
|
||||
$top_btns .= '<i class="fa fas fa-toggle-theme" aria-hidden="true"></i>';
|
||||
$top_btns .= '<i class="fa far fa-toggle-theme" aria-hidden="true"></i>';
|
||||
$top_btns .= '</a>';
|
||||
}
|
||||
if ('center' !== ($ctx['mobile_layout'] ?? 'center')) {
|
||||
$top_btns .= '<a href="javascript:;" class="toggle-radius main-search-btn" aria-label="'
|
||||
. esc_attr__('打开搜索', 'aksrt') . '"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-search"></use></svg></a>';
|
||||
}
|
||||
if (function_exists('aksrt_get_translate_language_btn')) {
|
||||
$top_btns .= aksrt_get_translate_language_btn('pull-right');
|
||||
}
|
||||
|
||||
@@ -71,9 +71,11 @@ if (!function_exists('aksrt_navbar_header')) :
|
||||
$button = '<button type="button" data-toggle-class="mobile-navbar-show" data-target="body" class="navbar-toggle" aria-label="'
|
||||
. esc_attr__('打开菜单', 'aksrt') . '">';
|
||||
$button .= '<i class="em12 css-icon i-menu"><i></i></i></button>';
|
||||
$button .= '<a href="javascript:;" class="navbar-toggle main-search-btn" aria-label="'
|
||||
. esc_attr__('打开搜索', 'aksrt') . '">';
|
||||
$button .= '<svg class="icon" aria-hidden="true"><use xlink:href="#icon-search"></use></svg></a>';
|
||||
if ('center' === ($ctx['mobile_layout'] ?? 'center')) {
|
||||
$button .= '<a href="javascript:;" class="navbar-toggle main-search-btn" aria-label="'
|
||||
. esc_attr__('打开搜索', 'aksrt') . '">';
|
||||
$button .= '<svg class="icon" aria-hidden="true"><use xlink:href="#icon-search"></use></svg></a>';
|
||||
}
|
||||
|
||||
echo '<div class="navbar-header">';
|
||||
echo '<div class="navbar-brand">' . $logo . '</div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
@@ -100,7 +102,7 @@ if (!function_exists('aksrt_get_menu_search')) :
|
||||
echo '<input type="text" class="form-control search-input focus-show" name="s" value="'
|
||||
. esc_attr(get_search_query()) . '" placeholder="' . esc_attr($placeholder) . '" autocomplete="off">';
|
||||
echo '<div class="abs-right muted-3-color"><button type="submit" class="null" aria-label="'
|
||||
. esc_attr__('搜索', 'aksrt') . '"><i class="fa fas fa-search" aria-hidden="true"></i></button></div>';
|
||||
. esc_attr__('搜索', 'aksrt') . '"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-search"></use></svg></button></div>';
|
||||
if (function_exists('aksrt_get_remote_box')) {
|
||||
echo aksrt_get_remote_box([ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
'class' => '',
|
||||
@@ -322,11 +324,11 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
if (in_array('pc_nav', (array) ($ctx['theme_positions'] ?? []), true)) {
|
||||
$utility_buttons .= '<a href="javascript:;" class="toggle-theme toggle-radius" id="theme-toggle-desktop" title="'
|
||||
. esc_attr__('切换亮暗色', 'aksrt') . '">';
|
||||
$utility_buttons .= '<i class="fa fas fa-toggle-theme" aria-hidden="true"></i>';
|
||||
$utility_buttons .= '<i class="fa far fa-toggle-theme" aria-hidden="true"></i>';
|
||||
$utility_buttons .= '</a>';
|
||||
}
|
||||
if (function_exists('aksrt_get_translate_language_btn')) {
|
||||
$utility_buttons .= aksrt_get_translate_language_btn('aksrt-navbar-language');
|
||||
$utility_buttons .= aksrt_get_translate_language_btn('ml10 pull-right');
|
||||
}
|
||||
|
||||
// Notifications, user and search.
|
||||
@@ -341,7 +343,7 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
if ($unread > 0) {
|
||||
$notification_but .= '<span class="aksrt-notification-badge">' . esc_html((string) min(99, $unread)) . '</span>';
|
||||
}
|
||||
$notification_but .= '</a></li>';
|
||||
$notification_but .= "</a></li>\n";
|
||||
}
|
||||
|
||||
$sign_but = '';
|
||||
@@ -349,7 +351,7 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
if ('2' === $layout) {
|
||||
if ($user_id > 0) {
|
||||
$avatar = aksrt_get_avatar_html($user_id, 36, ['class' => 'avatar']);
|
||||
$sign_but = '<li><a href="javascript:;" class="navbar-avatar aksrt-nav-avatar">' . $avatar . '</a><ul class="sub-menu">'
|
||||
$sign_but = '<li><a href="javascript:;" class="navbar-avatar">' . $avatar . '</a><ul class="sub-menu">'
|
||||
. $user_sub . '</ul></li>';
|
||||
} else {
|
||||
$sign_but = '<li><a href="javascript:;" class="signin-loader">' . esc_html__('登录', 'aksrt') . '</a></li>';
|
||||
@@ -360,7 +362,7 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
} else {
|
||||
$cls = 'aksrt-nav-icon' . ($user_id > 0 ? '' : ' signin-loader');
|
||||
$sign_but = '<li><a href="javascript:;" class="' . esc_attr($cls) . '">'
|
||||
. '<svg class="icon" aria-hidden="true"><use xlink:href="#icon-user"></use></svg></a>'
|
||||
. '<svg class="icon" viewBox="50 0 924 924" aria-hidden="true"><use xlink:href="#icon-user"></use></svg></a>'
|
||||
. '<ul class="sub-menu">' . $user_sub . '</ul></li>';
|
||||
}
|
||||
|
||||
@@ -370,8 +372,9 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
. esc_attr__('打开搜索', 'aksrt') . '"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-search"></use></svg></a></li>';
|
||||
}
|
||||
|
||||
$account = '<ul class="list-inline splitters relative aksrt-navbar-account'
|
||||
. ($user_id <= 0 && '2' === $layout ? ' navbar-text' : '') . '">'
|
||||
// Inline list items retain the reference whitespace between controls.
|
||||
$sign_but .= "\n";
|
||||
$account = '<ul class="list-inline splitters relative">'
|
||||
. $notification_but . $sign_but . $search_but . '</ul>';
|
||||
|
||||
// Reference cluster split: publish/VIP, theme + language, account row.
|
||||
@@ -387,10 +390,10 @@ if (!function_exists('aksrt_menu_button')) :
|
||||
. $account . '</div>';
|
||||
|
||||
$fold = '<div class="navbar-form navbar-right hide show-nav-but" style="margin-right:-10px;">'
|
||||
. '<a data-toggle-class data-target=".nav.navbar-nav" href="javascript:;" class="aksrt-nav-icon" aria-label="'
|
||||
. '<a data-toggle-class data-target=".nav.navbar-nav" href="javascript:;" class="but" aria-label="'
|
||||
. esc_attr__('展开菜单', 'aksrt') . '"><svg class="icon" viewBox="0 0 1024 1024" aria-hidden="true"><use xlink:href="#icon-menu_2"></use></svg></a></div>';
|
||||
|
||||
$html = $fold . $button . $right_but;
|
||||
$html = $fold . ('3' === $layout ? $right_but . $button : $button . $right_but);
|
||||
|
||||
echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
}
|
||||
|
||||
@@ -27,23 +27,6 @@ function aksrt_menu_pz(int $id, string $key = '', $default = '') {
|
||||
return $options[$id][$key] ?? $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decoration for a menu item (meta only).
|
||||
*
|
||||
* @param WP_Post|object $menu_item Menu item.
|
||||
* @return array{icon:string,badge_text:string,badge_class:string,submenu_s:bool,submenu_type:string}
|
||||
*/
|
||||
function aksrt_get_menu_item_decoration($menu_item): array {
|
||||
$id = (int) ($menu_item->ID ?? 0);
|
||||
return [
|
||||
'icon' => (string) aksrt_menu_pz($id, 'icon', ''),
|
||||
'badge_text' => (string) aksrt_menu_pz($id, 'badge', ''),
|
||||
'badge_class' => (string) aksrt_menu_pz($id, 'badge_class', ''),
|
||||
'submenu_s' => !empty(aksrt_menu_pz($id, 'submenu_s', false)),
|
||||
'submenu_type' => sanitize_key((string) aksrt_menu_pz($id, 'submenu_type', '')),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $icon_class Icon-picker value (FA5 class, zibsvg- or customsvg-).
|
||||
* @param bool $enabled Global switch.
|
||||
|
||||
Reference in new issue
Block a user