我构建的网站使用高级自定义字段插件,一切都适用于我自己的网络主机上的localhost.不幸的是,当我将网站移动到客户购买的托管(GoDaddy共享托管)时,高级自定义字段插件的JavaScript和CSS文件无法正确加载.检查源,问题很明显 - 它们指向以下路径:
(如果你仔细观察,你会发现有一个对服务器上文件实际路径的引用,而不是URL)
我已将问题跟踪到插件中的以下行:
$this->dir = plugins_url('',__FILE__);
Run Code Online (Sandbox Code Playgroud)
它应该被返回/wp-content/plugins/advanced-custom-fields
相反,它正在回归 /wp-content/plugins/home/content/06/10145906/html/wp-content/plugins/advanced-custom-fields
我编辑了插件文件,使其指向正确的路径,但每次更新插件时这些更改都会恢复,因此这不是长期解决方案.
我见过有些人抱怨__FILE__魔术常量不能像符合预期的那样使用符号链接,但我当然没有创建任何符号链接.这是使用GoDaddy的限制吗?
我注意到__FILE__在GoDaddy上返回的内容与本地计算机或其他Web服务器上的不同.一个是两个工作机器,它从文件系统的根目录返回完整路径(即/srv/www/sitename/public_html/file.php),而在GoDaddy上,它返回的路径从主目录(/home/content/06/10145906/html/file.php)开始.
这可能是问题吗?
我预计这是由于您的服务器移动而出现的。
检查您的 WordPress 设置页面,确保 WordPress URL 反映移动后的新 URL。
如果这一切都是正确的,那么某些东西正在覆盖 WordPress 的常量之一,要么是 WP_PLUGIN_URL,要么是用于设置它的前体常量之一。查找的位置是 wp-config.php 文件。