is_main_query()) {
if (get_query_var('pagename') === 'archive') {
// 设置为archive页面查询
$query->set('post_type', 'post');
$query->set('post_status', 'publish');
$query->set('posts_per_page', 5);
// 获取分页参数
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$query->set('paged', $paged);
// 设置模板
add_filter('template_include', function($template) {
return get_template_directory() . '/archive.php';
});
}
}
}
add_action('pre_get_posts', 'handle_archive_query');
// 全局设置文章每页显示数量,修复分页404问题
function set_posts_per_page_global($query) {
if (!is_admin() && $query->is_main_query()) {
if ($query->is_category() || $query->is_search() || $query->is_archive()) {
$query->set('posts_per_page', 5);
}
}
}
add_action('pre_get_posts', 'set_posts_per_page_global', 99);
// 维护模式检查
function check_maintenance_mode() {
// 如果是管理员或在后台,不显示维护页面
if (is_admin() || current_user_can('manage_options')) {
return;
}
// 获取维护模式设置
$options = get_option('themes_demo');
$maintenance_mode = isset($options['maintenance_mode']) ? $options['maintenance_mode'] : '0';
// 检查定时维护模式
$is_scheduled_maintenance = check_scheduled_maintenance();
// 如果启用了维护模式或处于定时维护期间,显示维护页面
if ($maintenance_mode === '1' || $is_scheduled_maintenance) {
$maintenance_title = isset($options['maintenance_title']) ? $options['maintenance_title'] : '网站维护中';
$maintenance_message = isset($options['maintenance_message']) ? $options['maintenance_message'] : '我们正在对网站进行维护升级,请稍后再访问。给您带来的不便,敬请谅解!';
// 设置503状态码
status_header(503);
// 显示维护页面
show_maintenance_page($maintenance_title, $maintenance_message);
exit;
}
}
add_action('template_redirect', 'check_maintenance_mode');
/**
* 检查是否处于定时维护期间
*/
function check_scheduled_maintenance() {
$options = get_option('themes_demo');
$start_time = isset($options['maintenance_start_time']) ? $options['maintenance_start_time'] : '';
$end_time = isset($options['maintenance_end_time']) ? $options['maintenance_end_time'] : '';
$timezone = isset($options['maintenance_timezone']) ? $options['maintenance_timezone'] : 'Asia/Shanghai';
// 如果没有设置时间,返回false
if (empty($start_time) && empty($end_time)) {
return false;
}
try {
// 设置时区
$tz = new DateTimeZone($timezone);
$current_time = new DateTime('now', $tz);
// 如果只设置了结束时间,检查是否已过期
if (empty($start_time) && !empty($end_time)) {
$end_datetime = new DateTime($end_time, $tz);
return $current_time < $end_datetime;
}
// 如果只设置了开始时间,检查是否已开始
if (!empty($start_time) && empty($end_time)) {
$start_datetime = new DateTime($start_time, $tz);
return $current_time >= $start_datetime;
}
// 如果都设置了,检查是否在时间范围内
if (!empty($start_time) && !empty($end_time)) {
$start_datetime = new DateTime($start_time, $tz);
$end_datetime = new DateTime($end_time, $tz);
return $current_time >= $start_datetime && $current_time < $end_datetime;
}
} catch (Exception $e) {
// 时间解析错误,记录日志
error_log('Maintenance mode time parsing error: ' . $e->getMessage());
return false;
}
return false;
}
/**
* 获取维护模式结束时间(用于倒计时)
*/
function get_maintenance_end_time() {
$options = get_option('themes_demo');
$end_time = isset($options['maintenance_end_time']) ? $options['maintenance_end_time'] : '';
$timezone = isset($options['maintenance_timezone']) ? $options['maintenance_timezone'] : 'Asia/Shanghai';
if (empty($end_time)) {
return null;
}
try {
$tz = new DateTimeZone($timezone);
$end_datetime = new DateTime($end_time, $tz);
return $end_datetime->getTimestamp();
} catch (Exception $e) {
error_log('获取维护结束时间错误: ' . $e->getMessage());
return null;
}
}
/**
* 注册维护模式定时任务
*/
function schedule_maintenance_mode_tasks() {
// 清除现有的定时任务
wp_clear_scheduled_hook('maintenance_mode_start');
wp_clear_scheduled_hook('maintenance_mode_end');
$options = get_option('themes_demo');
$start_time = isset($options['maintenance_start_time']) ? $options['maintenance_start_time'] : '';
$end_time = isset($options['maintenance_end_time']) ? $options['maintenance_end_time'] : '';
$timezone = isset($options['maintenance_timezone']) ? $options['maintenance_timezone'] : 'Asia/Shanghai';
if (empty($start_time) && empty($end_time)) {
return;
}
try {
$tz = new DateTimeZone($timezone);
$current_time = new DateTime('now', $tz);
// 安排开始维护任务
if (!empty($start_time)) {
$start_datetime = new DateTime($start_time, $tz);
$start_timestamp = $start_datetime->getTimestamp();
// 只有当开始时间在未来时才安排任务
if ($start_timestamp > time()) {
wp_schedule_single_event($start_timestamp, 'maintenance_mode_start');
error_log('已安排维护模式开始任务: ' . $start_datetime->format('Y-m-d H:i:s'));
}
}
// 安排结束维护任务
if (!empty($end_time)) {
$end_datetime = new DateTime($end_time, $tz);
$end_timestamp = $end_datetime->getTimestamp();
// 只有当结束时间在未来时才安排任务
if ($end_timestamp > time()) {
wp_schedule_single_event($end_timestamp, 'maintenance_mode_end');
error_log('已安排维护模式结束任务: ' . $end_datetime->format('Y-m-d H:i:s'));
}
}
} catch (Exception $e) {
error_log('Schedule maintenance tasks error: ' . $e->getMessage());
}
}
add_action('update_option_themes_demo', 'schedule_maintenance_mode_tasks');
/**
* 获取主题缓存版本号
* 用于当文章更新时刷新所有相关的transient缓存
*/
function get_theme_cache_version() {
$version = get_option('theme_cache_version');
if (false === $version) {
$version = time();
update_option('theme_cache_version', $version);
}
return $version;
}
/**
* 更新主题缓存版本号(清理缓存)
*/
function update_theme_cache_version() {
update_option('theme_cache_version', time());
}
// 在文章保存、删除、切换主题时自动清理缓存
add_action('save_post', 'update_theme_cache_version');
add_action('deleted_post', 'update_theme_cache_version');
add_action('switch_theme', 'update_theme_cache_version');
/**
* 在顶部管理栏添加"清理缓存"按钮
*/
function add_clear_cache_button_to_admin_bar($wp_admin_bar) {
if (!current_user_can('manage_options')) {
return;
}
$args = array(
'id' => 'clear_theme_cache',
'title' => '清理主题缓存',
'href' => wp_nonce_url(admin_url('admin-post.php?action=clear_theme_cache'), 'clear_theme_cache_nonce'),
'meta' => array('class' => 'clear-theme-cache-button')
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'add_clear_cache_button_to_admin_bar', 999);
/**
* 处理手动清理缓存请求
*/
function handle_manual_cache_clearing() {
if (!current_user_can('manage_options')) {
wp_die('权限不足');
}
check_admin_referer('clear_theme_cache_nonce');
update_theme_cache_version();
// 获取来源页面,如果存在则跳回,否则跳回首页
$redirect_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : home_url('/');
wp_redirect($redirect_url);
exit;
}
add_action('admin_post_clear_theme_cache', 'handle_manual_cache_clearing');
/**
* 自动开启维护模式
*/
function auto_start_maintenance_mode() {
$options = get_option('themes_demo');
$options['maintenance_mode'] = '1';
update_option('themes_demo', $options);
error_log('自动开启维护模式');
}
add_action('maintenance_mode_start', 'auto_start_maintenance_mode');
/**
* 自动关闭维护模式
*/
function auto_end_maintenance_mode() {
$options = get_option('themes_demo');
$options['maintenance_mode'] = '0';
update_option('themes_demo', $options);
error_log('自动关闭维护模式');
}
add_action('maintenance_mode_end', 'auto_end_maintenance_mode');
/**
* 当主题选项更新时重新安排维护任务
*/
function reschedule_maintenance_tasks_on_update($option_name, $old_value, $value) {
if ($option_name === 'themes_demo') {
// 检查维护相关设置是否有变化
$old_start = isset($old_value['maintenance_start_time']) ? $old_value['maintenance_start_time'] : '';
$old_end = isset($old_value['maintenance_end_time']) ? $old_value['maintenance_end_time'] : '';
$old_timezone = isset($old_value['maintenance_timezone']) ? $old_value['maintenance_timezone'] : 'Asia/Shanghai';
$new_start = isset($value['maintenance_start_time']) ? $value['maintenance_start_time'] : '';
$new_end = isset($value['maintenance_end_time']) ? $value['maintenance_end_time'] : '';
$new_timezone = isset($value['maintenance_timezone']) ? $value['maintenance_timezone'] : 'Asia/Shanghai';
if ($old_start !== $new_start || $old_end !== $new_end || $old_timezone !== $new_timezone) {
schedule_maintenance_mode_tasks();
error_log('维护模式设置已更新,重新安排定时任务');
}
}
}
add_action('updated_option', 'reschedule_maintenance_tasks_on_update', 10, 3);
/**
* 强制触发WordPress Cron(用于测试)
*/
function force_wp_cron() {
if (defined('DOING_CRON') && DOING_CRON) {
return;
}
// 触发WordPress Cron
spawn_cron();
}
// 在主题激活时安排维护任务
add_action('after_switch_theme', 'schedule_maintenance_mode_tasks');
// 包含维护模式测试文件(仅在开发环境或管理员访问时)
if (is_admin() && current_user_can('manage_options')) {
require_once get_template_directory() . '/maintenance-test.php';
}
// 显示维护页面
function show_maintenance_page($title, $message) {
$site_name = get_bloginfo('name');
$logo = get_theme_option('site_logo');
$end_timestamp = get_maintenance_end_time();
?>
>
-
100,
'width' => 400,
'flex-height' => true,
'flex-width' => true,
));
}
add_action('after_setup_theme', 'nenghui_theme_setup');
// 注册导航菜单
function register_theme_menus() {
register_nav_menus(array(
'primary-menu' => '主导航菜单'
));
}
add_action('init', 'register_theme_menus');
// 允许上传SVG和WebP格式文件
function allow_svg_webp_upload($mimes) {
// 添加SVG支持
$mimes['svg'] = 'image/svg+xml';
$mimes['svgz'] = 'image/svg+xml';
// 添加WebP支持
$mimes['webp'] = 'image/webp';
return $mimes;
}
add_filter('upload_mimes', 'allow_svg_webp_upload');
// 修复SVG文件的MIME类型检查
function fix_svg_mime_type($data, $file, $filename, $mimes) {
$filetype = wp_check_filetype($filename, $mimes);
if ($filetype['ext'] === 'svg') {
$data['ext'] = 'svg';
$data['type'] = 'image/svg+xml';
}
return $data;
}
add_filter('wp_check_filetype_and_ext', 'fix_svg_mime_type', 10, 4);
// 为SVG文件添加安全检查
function sanitize_svg_upload($file) {
if ($file['type'] === 'image/svg+xml') {
$svg_content = file_get_contents($file['tmp_name']);
// 检查是否包含潜在危险的标签
$dangerous_tags = array('script', 'object', 'embed', 'iframe', 'link');
foreach ($dangerous_tags as $tag) {
if (strpos($svg_content, '<' . $tag) !== false) {
$file['error'] = 'SVG文件包含不安全的内容,上传被拒绝。';
return $file;
}
}
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'sanitize_svg_upload');
// 在媒体库中正确显示SVG文件
function display_svg_in_media_library($response, $attachment, $meta) {
if ($response['type'] === 'image' && $response['subtype'] === 'svg+xml') {
$response['image'] = array(
'src' => $response['url'],
'width' => 150,
'height' => 150,
);
$response['thumb'] = array(
'src' => $response['url'],
'width' => 150,
'height' => 150,
);
$response['sizes'] = array(
'full' => array(
'url' => $response['url'],
'width' => 150,
'height' => 150,
'orientation' => 'landscape'
)
);
}
return $response;
}
add_filter('wp_prepare_attachment_for_js', 'display_svg_in_media_library', 10, 3);
// 加载自定义器JavaScript文件
function nenghui_customizer_scripts() {
// 加载自定义器控制脚本
wp_enqueue_script(
'nenghui-customizer-controls',
get_template_directory_uri() . '/assets/js/customizer-controls.js',
array('jquery', 'customize-controls'),
'1.5.0',
true
);
}
add_action('customize_controls_enqueue_scripts', 'nenghui_customizer_scripts');
// 加载自定义器预览脚本
function nenghui_customizer_preview_scripts() {
wp_enqueue_script(
'nenghui-customizer-preview',
get_template_directory_uri() . '/assets/js/customizer-preview.js',
array('jquery', 'customize-preview'),
'1.5.0',
true
);
}
add_action('customize_preview_init', 'nenghui_customizer_preview_scripts');
// 禁用自动生成的图片尺寸
function shapeSpace_disable_image_sizes($sizes) {
unset($sizes['thumbnail']); // 禁用缩略图尺寸
unset($sizes['medium']); // 禁用中等尺寸
unset($sizes['large']); // 禁用大尺寸
unset($sizes['medium_large']); // 禁用中大型尺寸
unset($sizes['1536x1536']); // 禁用2倍中大型尺寸
unset($sizes['2048x2048']); // 禁用2倍大尺寸
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
// 禁用大图片自动缩放功能
add_filter('big_image_size_threshold', '__return_false');
// 禁用其他自定义图片尺寸
function shapeSpace_disable_other_image_sizes() {
// 禁用特色图片尺寸
remove_image_size('post-thumbnail');
// 如果有其他主题或插件添加的图片尺寸,可以在这里继续移除
// 例如:remove_image_size('custom-size');
}
add_action('init', 'shapeSpace_disable_other_image_sizes');
// 自定义导航菜单Walker类,支持下拉多级菜单
class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
// 开始输出子菜单
function start_lvl(&$output, $depth = 0, $args = null) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent\n";
}
// 开始输出菜单项
function start_el(&$output, $item, $depth = 0, $args = null, $id = 0) {
$indent = ($depth) ? str_repeat("\t", $depth) : '';
$classes = empty($item->classes) ? array() : (array) $item->classes;
$classes[] = 'menu-item-' . $item->ID;
// 检查是否有子菜单
$has_children = in_array('menu-item-has-children', $classes);
$class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item, $args));
$class_names = $class_names ? ' class="' . esc_attr($class_names) . '"' : '';
$id = apply_filters('nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args);
$id = $id ? ' id="' . esc_attr($id) . '"' : '';
$output .= $indent . '';
$attributes = ! empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) .'"' : '';
$attributes .= ! empty($item->target) ? ' target="' . esc_attr($item->target ) .'"' : '';
$attributes .= ! empty($item->xfn) ? ' rel="' . esc_attr($item->xfn ) .'"' : '';
$attributes .= ! empty($item->url) ? ' href="' . esc_attr($item->url ) .'"' : '';
$item_output = isset($args->before) ? $args->before : '';
$item_output .= '';
$item_output .= (isset($args->link_before) ? $args->link_before : '') . apply_filters('the_title', $item->title, $item->ID) . (isset($args->link_after) ? $args->link_after : '');
$item_output .= '';
$item_output .= isset($args->after) ? $args->after : '';
$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
}
// 结束输出菜单项
function end_el(&$output, $item, $depth = 0, $args = null) {
$output .= "\n";
}
}
// 添加菜单JavaScript支持
function enqueue_dropdown_menu_scripts() {
wp_enqueue_script(
'dropdown-menu',
get_template_directory_uri() . '/assets/js/dropdown-menu.js',
array('jquery'),
'1.0.0',
true
);
}
add_action('wp_enqueue_scripts', 'enqueue_dropdown_menu_scripts');
// 股票信息短代码函数
function nenghui_stock_info_shortcode($atts) {
$attributes = shortcode_atts(array(
'stock_code' => 'sz301046',
'theme' => 'default',
'show_chart' => false,
'block_id' => 'stock-info-' . uniqid()
), $atts);
// 开始输出缓冲
ob_start();
// 设置属性数组供模板使用
$template_attributes = array(
'stockCode' => $attributes['stock_code'],
'theme' => $attributes['theme'],
'showChart' => $attributes['show_chart'],
'blockId' => $attributes['block_id']
);
// 包含股票信息区块模板
$template_path = get_template_directory() . '/template-parts/block/block-stock-info.php';
if (file_exists($template_path)) {
// 将属性设置为全局变量供模板使用
global $stock_info_attributes;
$stock_info_attributes = $template_attributes;
include $template_path;
} else {
echo '股票信息模板文件未找到
';
}
return ob_get_clean();
}
// 注册短代码
add_shortcode('nenghui_stock_info', 'nenghui_stock_info_shortcode');
// 投资者接待短代码函数
function nenghui_investor_reception_shortcode($atts) {
$attributes = shortcode_atts(array(
'title' => '投资者接待',
'subtitle' => '投资者交流平台',
'contact_person' => '董事会秘书 罗联明',
'contact_phone' => '021-50896255',
'contact_email' => 'nenghui@nhet.com.cn',
'background_image' => 'http://nh.matepress.cn/wp-content/uploads/2025/09/touzizhe-banner.webp',
'theme' => 'default',
'block_id' => 'investor-reception-' . uniqid()
), $atts);
// 开始输出缓冲
ob_start();
// 设置属性数组供模板使用
$template_attributes = array(
'title' => $attributes['title'],
'subtitle' => $attributes['subtitle'],
'contactPerson' => $attributes['contact_person'],
'contactPhone' => $attributes['contact_phone'],
'contactEmail' => $attributes['contact_email'],
'backgroundImage' => $attributes['background_image'],
'theme' => $attributes['theme'],
'blockId' => $attributes['block_id']
);
// 包含投资者接待区块模板
$template_path = get_template_directory() . '/template-parts/block/block-investor-reception.php';
if (file_exists($template_path)) {
// 将属性设置为全局变量供模板使用
global $investor_reception_attributes;
$investor_reception_attributes = $template_attributes;
include $template_path;
} else {
echo '投资者接待模板文件未找到
';
}
return ob_get_clean();
}
// 注册投资者接待短代码
add_shortcode('nenghui_investor_reception', 'nenghui_investor_reception_shortcode');
// 高管简历短代码函数
function nenghui_executive_profiles_shortcode($atts) {
$attributes = shortcode_atts(array(
'title' => '高管团队',
'theme' => 'default',
'columns' => '1',
'block_id' => 'executive-profiles-' . uniqid()
), $atts);
// 开始输出缓冲
ob_start();
// 设置属性数组供模板使用
$template_attributes = array(
'title' => $attributes['title'],
'theme' => $attributes['theme'],
'columns' => intval($attributes['columns']),
'blockId' => $attributes['block_id']
);
// 包含高管简历区块模板
$template_path = get_template_directory() . '/template-parts/block/block-executive-profiles.php';
if (file_exists($template_path)) {
// 将属性设置为全局变量供模板使用
global $executive_profiles_attributes;
$executive_profiles_attributes = $template_attributes;
include $template_path;
} else {
echo '高管简历模板文件未找到
';
}
return ob_get_clean();
}
// 注册高管简历短代码
add_shortcode('nenghui_executive_profiles', 'nenghui_executive_profiles_shortcode');
// HTML压缩功能集成
// 引入HTML压缩集成文件
require_once get_template_directory() . '/inc/html-compression-integration.php';
/**
* 初始化HTML压缩功能
* 在主题激活时设置默认选项
*/
function nenghui_init_html_compression() {
// 设置默认的压缩选项
$default_options = array(
'nenghui_compression_enabled' => true,
'nenghui_compression_remove_comments' => true,
'nenghui_compression_remove_whitespace' => true,
'nenghui_compression_compress_css' => true,
'nenghui_compression_compress_js' => true,
'nenghui_compression_preserve_line_breaks' => false,
'nenghui_compression_excluded_pages' => 'wp-admin,wp-login,xmlrpc'
);
// 只在首次激活时设置默认值
foreach ($default_options as $option_name => $default_value) {
if (get_theme_mod($option_name) === false) {
set_theme_mod($option_name, $default_value);
}
}
}
// 在主题激活时初始化压缩功能
add_action('after_switch_theme', 'nenghui_init_html_compression');
/**
* 添加HTML压缩相关的管理员通知
*/
function nenghui_compression_admin_notices() {
// 检查是否启用了压缩功能
$compression_enabled = get_theme_mod('nenghui_compression_enabled', true);
if (!$compression_enabled) {
echo '';
echo '
能汇能源主题:HTML压缩功能已禁用。您可以在 自定义器 中启用它以提升网站性能。
';
echo '
';
}
}
add_action('admin_notices', 'nenghui_compression_admin_notices');
/**
* 添加压缩功能到主题支持
*/
function nenghui_add_compression_theme_support() {
// 添加主题支持HTML压缩
add_theme_support('nenghui-html-compression', array(
'remove_comments' => true,
'remove_whitespace' => true,
'compress_css' => true,
'compress_js' => true,
'preserve_content' => array('pre', 'textarea', 'script', 'style'),
'excluded_pages' => array('wp-admin', 'wp-login', 'xmlrpc')
));
}
add_action('after_setup_theme', 'nenghui_add_compression_theme_support');
/**
* 清理主题停用时的压缩相关数据
*/
function nenghui_cleanup_compression_data() {
// 清理压缩统计数据
delete_option('nenghui_compression_stats');
// 清理自定义器设置(可选,根据需要决定是否保留用户设置)
// remove_theme_mod('nenghui_compression_enabled');
// remove_theme_mod('nenghui_compression_remove_comments');
// remove_theme_mod('nenghui_compression_remove_whitespace');
// remove_theme_mod('nenghui_compression_compress_css');
// remove_theme_mod('nenghui_compression_compress_js');
// remove_theme_mod('nenghui_compression_excluded_pages');
}
add_action('switch_theme', 'nenghui_cleanup_compression_data');
/**
* 手机轮播图简码功能
* 使用方法: [phone_carousel]
*/
function phone_carousel_shortcode($atts) {
// 设置默认属性
$atts = shortcode_atts(array(
'width' => '220px',
'height' => '800px',
'mobile_width' => '300px',
'mobile_height' => '600px'
), $atts, 'phone_carousel');
// 开始输出缓冲
ob_start();
// 包含轮播图模板
include get_template_directory() . '/template-parts/block/block-phone-carousel.php';
// 获取缓冲内容并清理缓冲区
$output = ob_get_clean();
return $output;
}
add_shortcode('phone_carousel', 'phone_carousel_shortcode');
/**
* 为手机轮播图简码添加自定义CSS样式
*/
function phone_carousel_shortcode_styles() {
// 只在使用了简码的页面加载样式
global $post;
if (is_a($post, 'WP_Post') && has_shortcode($post->post_content, 'phone_carousel')) {
// 样式已经包含在模板文件中,这里可以添加额外的样式覆盖
echo '';
}
}
add_action('wp_head', 'phone_carousel_shortcode_styles');
/**
* 修复 Elementor Google Fonts 的 Mixed Content 错误
* 强制所有外部资源使用 HTTPS
*/
function fix_elementor_google_fonts_mixed_content() {
// 修复 Google Fonts 的 HTTP 链接
add_filter('elementor/frontend/print_google_fonts', function($google_fonts_url) {
if (is_ssl() && strpos($google_fonts_url, 'http://') === 0) {
return str_replace('http://', 'https://', $google_fonts_url);
}
return $google_fonts_url;
});
// 修复所有样式表的 HTTP 链接
add_filter('style_loader_src', function($src) {
if (is_ssl() && strpos($src, 'http://') === 0) {
return str_replace('http://', 'https://', $src);
}
return $src;
});
// 修复所有脚本的 HTTP 链接
add_filter('script_loader_src', function($src) {
if (is_ssl() && strpos($src, 'http://') === 0) {
return str_replace('http://', 'https://', $src);
}
return $src;
});
}
add_action('init', 'fix_elementor_google_fonts_mixed_content');
/**
* 禁用 Elementor 的 Google Fonts(可选方案)
* 如果上面的修复不起作用,可以取消注释下面的代码来完全禁用 Google Fonts
*/
/*
function disable_elementor_google_fonts() {
// 禁用 Elementor 的 Google Fonts
add_filter('elementor/frontend/print_google_fonts', '__return_false');
// 移除 Google Fonts 样式表
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('google-fonts');
wp_deregister_style('google-fonts');
}, 20);
}
add_action('init', 'disable_elementor_google_fonts');
*/
?>