You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据WordPress选项页单选按钮更新wp_enqueue_scripts()

解决方法:根据自定义选项切换加载的地图脚本

没问题,我来帮你搞定这个需求。核心思路就是在wp_enqueue_scripts钩子的回调函数里,读取你选项页保存的单选值,再根据这个值动态加载对应的JS文件。

步骤1:修改functions.php中的theme_scripts函数

你只需要在原有函数里添加选项值的判断逻辑,替换掉固定的地图脚本加载代码即可。注意要和你选项页里的单选值对应(value="1"对应ERSI地图,value="2"对应Google地图):

function theme_scripts() { 
    // 加载通用基础脚本
    wp_enqueue_script( 'script', get_template_directory_uri() . '/js/scripts.js'); 

    // 获取选项页保存的单选值,默认设为2(即默认加载Google地图)
    $map_option = get_option('style-radio', '2');

    // 根据选项值动态加载对应地图脚本
    if ($map_option === '1') {
        // 加载ESRI地图脚本(注意:你选项页里写的是"ERSI Map",但JS文件名是ESRI.js,建议统一拼写避免报错)
        wp_enqueue_script( 'Map', get_template_directory_uri() . '/js/ESRI.js' ); 
    } else {
        // 默认加载Google地图脚本
        wp_enqueue_script( 'Map', get_template_directory_uri() . '/js/Google.js' ); 
    }
} 
add_action( 'wp_enqueue_scripts', 'theme_scripts');

步骤2:注意事项

  • 拼写一致性:你的选项页显示文本是ERSI Map,但JS文件名是ESRI.js,这里建议统一拼写(要么都改成ERSI,要么都改成ESRI),避免因文件名不匹配导致脚本加载失败。
  • 缓存问题:修改选项后,记得清除浏览器缓存或WordPress缓存插件的缓存,否则前台可能不会立刻显示脚本切换的效果。
  • 权限验证:你的选项页已经设置了manage_options权限,确保只有管理员能修改该设置,这部分逻辑是没问题的。

测试验证

现在你可以进入后台「设置」→「Map」页面,切换单选按钮并保存,然后查看前台页面源代码,搜索Google.js或ESRI.js,就能确认脚本是否已正确切换加载。

内容的提问来源于stack exchange,提问作者Mona Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:29:06