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

WordPress中wp_upload_dir()路径被覆盖致JS文件404如何解决?

问题解决:WordPress中wp_upload_dir路径未正确输出导致404错误

核心问题分析

你代码里的关键错误是没有输出$upload_base_url变量:用<?php $upload_base_url ?>只是引用变量,不会把变量值输出到HTML中,最终生成的script标签src属性实际是"/arcade-js/xxx.js",浏览器会将这个相对路径解析为域名根目录下的路径,也就是http://localhost/arcade-js/xxx.js,自然找不到目标文件。

修正后的代码

将输出变量的部分改成echo输出即可:

// Single post addition of javascript for arcade game project
function wpb_hook_javascript_footer() {
    if (is_single ('317')) {

    // Get the upload directory information
    $upload_dir = wp_upload_dir();

    // Access specific information
    $upload_base_url = $upload_dir['baseurl']; // URL to the uploads directory
    $upload_path = $upload_dir['path'];         // Server path to the uploads directory
?>
        <script src="<?php echo $upload_base_url ?>/arcade-js/resources.js"></script>
        <script src="<?php echo $upload_base_url ?>/arcade-js/app.js"></script>
        <script src="<?php echo $upload_base_url ?>/arcade-js/engine.js"></script>
<?php
}
}
add_action('wp_footer', 'wpb_hook_javascript_footer');

如果你的PHP环境启用了短标签支持,也可以用更简洁的写法:

<script src="<?= $upload_base_url ?>/arcade-js/resources.js"></script>

更规范的WordPress实践

推荐使用WordPress官方的wp_enqueue_script函数加载脚本,能更好地管理脚本依赖、版本控制和避免冲突,示例如下:

function enqueue_arcade_game_scripts() {
    if (is_single('317')) {
        $upload_dir = wp_upload_dir();
        $base_url = $upload_dir['baseurl'];
        
        // 按依赖顺序加载脚本,最后一个true参数表示在页脚加载
        wp_enqueue_script('arcade-resources', $base_url . '/arcade-js/resources.js', array(), false, true);
        wp_enqueue_script('arcade-app', $base_url . '/arcade-js/app.js', array('arcade-resources'), false, true);
        wp_enqueue_script('arcade-engine', $base_url . '/arcade-js/engine.js', array('arcade-app'), false, true);
    }
}
add_action('wp_enqueue_scripts', 'enqueue_arcade_game_scripts');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:50:17