File: /www/wwwroot/q.autos58.cn/wp-content/themes/kong20/inc/functions/functions.php
<?php
if (!defined('ABSPATH')) {die;}
$require_once = array(
'inc/functions/core-function.php',
'inc/functions/seo-functions.php',
'inc/class/walker.class.php',
'inc/plugins/wp-clean-up/wp-clean-up.php',
'inc/plugins/sitemap/sitemap.php',
);
foreach ($require_once as $require) {
$file = get_theme_file_path('/' . $require);
if (file_exists($file)) {
require_once $file;
}
}
if (!function_exists('hua_scripts')):
function hua_scripts() {
$theme_uri = esc_url(get_template_directory_uri()) . '/';
if (!is_admin()) {
wp_deregister_script('jquery');
wp_deregister_script('l10n');
wp_deregister_style('global-styles');
wp_dequeue_style('global-styles');
wp_enqueue_style('fonts', $theme_uri . 'css/fonts/iconfont.css', array(), '1.0');
wp_enqueue_style('boot', $theme_uri . 'css/Bootstrap.min.css', array(), '1.0');
wp_enqueue_style('s', $theme_uri . 'css/style.css', array(), '1.0');
wp_enqueue_style('hua', $theme_uri . 'css/huatheme.css', array(), '1.0');
wp_enqueue_script('jquery', $theme_uri . 'js/jquery.min.js', array(), '3.6.0', false);
wp_enqueue_script('common-ma', $theme_uri . 'js/common.js', array('jquery'), '1.0', true);
}
}
add_action('wp_enqueue_scripts', 'hua_scripts');
endif;
function hua_site_logo() {
$logo = _hua('site_logo');
$logo_url = get_stylesheet_directory_uri() . '/images/logo.png';
$home_url = esc_url(get_home_url());
$site_name = esc_attr(get_bloginfo('name'));
if ($logo) {
echo '<h1 class="logo"><a href="' . $home_url . '" title="' . $site_name . '"><img src="' . esc_url($logo) . '" alt="' . $site_name . '" /></a></h1>';
} else {
echo '<h1 class="logo"><a href="' . $home_url . '"><img src="' . esc_url($logo_url) . '" alt="' . $site_name . '" /></a></h1>';
}
}
function get_nav_menu($location = 'header_menu', $echo = true) {
$cache_key = 'nav_menu_' . $location;
$nav = wp_cache_get($cache_key);
if (false === $nav) {
$defaults = array(
'theme_location' => $location,
'menu' => '', //使用导航菜单的名称调用菜单,可以是 ID、别名和名字(按顺序匹配)
'container' => '', //最外层容器的标签
'container_class' => '', //外层容器的class
'container_id' => '', //外层容器的 ID
'menu_class' => 'navbar-nav',
'fallback_cb' => false,
'echo' => false,
'items_wrap' => '<ul class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => class_exists('hua_Walker_Nav_Menu') ? new hua_Walker_Nav_Menu() : new Walker_Nav_Menu()
);
$nav = wp_nav_menu($defaults);
$nav = str_replace(array('current-menu-item', 'current-menu-parent'), 'active', $nav);
$nav = str_replace('current-menu-ancestor', 'dropdown', $nav);
$nav = str_replace('menu-item-has-children', '', $nav);
if (!$nav && current_user_can('edit_theme_options')) {
$nav = '<ul class="navbar-nav"><li><a href="' . esc_url(admin_url('nav-menus.php')) . '" target="_blank">暂无菜单,请到后台创建!</a></li></ul>';
}
wp_cache_set($cache_key, $nav, '', 3600);
}
if ($echo) {
echo wp_kses_post($nav);
} else {
return wp_kses_post($nav);
}
}
function get_footer_menu($location = 'footer_menu', $echo = true) {
$defaults = array(
'theme_location' => $location,
'menu' => '', //使用导航菜单的名称调用菜单,可以是 ID、别名和名字(按顺序匹配)
'container' => '', //最外层容器的标签
'container_class' => '', //外层容器的class
'container_id' => '', //外层容器的 ID
'menu_class' => 'nav-footer',
'fallback_cb' => false,
'echo' => false,
'items_wrap' => '<ul class="%2$s">%3$s</ul>',
'walker' => '',
);
$nav = wp_nav_menu($defaults);
if (!$nav && current_user_can('edit_theme_options')) {
$nav = sprintf(
'<ul class="nav-footer"><li><a href="%s" target="_blank">请到后台添加页脚菜单</a></li></ul>',
esc_url(admin_url('nav-menus.php'))
);
}
if ($echo) {
echo wp_kses_post($nav);
} else {
return wp_kses_post($nav);
}
}
function custom_menu_classes($classes, $item) {
$keep_classes = array(
'current-menu-item',
'current-menu-parent',
'current-menu-ancestor',
'menu-item-has-children',
'current_page_item',
'current_page_parent',
'current_page_ancestor'
);
$is_current = array_intersect($classes, $keep_classes);
if (in_array('menu-item-has-children', $classes) && !empty($is_current)) {
$classes[] = 'current-menu-ancestor';
}
return array_intersect($classes, $keep_classes);
}
add_filter('nav_menu_css_class', 'custom_menu_classes', 10, 2);
add_filter('nav_menu_item_id', '__return_empty_string', 10, 3);
function hua_register_nav_menus(){
register_nav_menus( array(
'header_menu' => __( '顶部菜单', 'hua' ),
'footer_menu' => __( '底部菜单', 'hua' )
));
}
add_action( 'init', 'hua_register_nav_menus' );
function hua_widgets_init() {
$sidebars = array(
'dy_cat' => '列表页侧栏',
'dy_single' => '内容页侧栏',
);
foreach ($sidebars as $key => $value) {
register_sidebar(array(
'name' => $value,
'id' => $key,
'before_widget' => '<div id="%1$s" class="widget list-box %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="title1"><span>',
'after_title' => '</span></div>',
));
}
}
add_action('widgets_init', 'hua_widgets_init');