fix(page-display): connect header component visibility settings

This commit is contained in:
2026-08-19 13:35:31 +08:00
parent 8a738c7998
commit d4a9b7fd98
8 changed files with 152 additions and 34 deletions
+1 -8
View File
@@ -142,18 +142,11 @@ if (!function_exists('aksrt_render_header_menu_buttons')) :
*/
function aksrt_render_header_menu_buttons(): string {
$settings = class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::read_domain('page_display', 'header-nav') : [];
$types = is_array($settings['nav_newposts_btns'] ?? null)
? array_values(array_intersect(array_map('sanitize_key', $settings['nav_newposts_btns']), ['post']))
: ['post'];
if (!$types) {
$types = ['post'];
}
$cfg = [
'enabled' => !isset($settings['nav_newposts']) || !empty($settings['nav_newposts']),
'text' => trim((string) ($settings['nav_newposts_text'] ?? __('发布', 'aksrt'))),
'radius_pill' => !isset($settings['nav_newposts_radius']) || !empty($settings['nav_newposts_radius']),
'class' => sanitize_html_class((string) (($settings['nav_newposts_class'] ?? '') ?: 'jb-blue')),
'types' => $types,
];
$html = '';
if (!empty($cfg['enabled'])) {
@@ -169,7 +162,7 @@ if (!function_exists('aksrt_render_header_menu_buttons')) :
$class .= ' radius';
}
$label = (string) ($cfg['text'] ?? __('发布', 'aksrt'));
$btn = aksrt_render_new_add_btns($cfg['types'] ?? ['post'], $class, $label);
$btn = aksrt_render_new_add_btns(['post'], $class, $label);
if ($btn !== '') {
$html .= $btn;
}