Php 本地xampp安装上wp_enqueue_脚本的奇怪行为

Php 本地xampp安装上wp_enqueue_脚本的奇怪行为,php,wordpress,path,xampp,Php,Wordpress,Path,Xampp,我想用wp\u enqueue\u脚本调用一个js文件 我使用get\u template\u directory(),如下所示: $myfile = wp_normalize_path(get_template_directory().'/js/script.js'); $myversion = filemtime($myfile); wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );

我想用
wp\u enqueue\u脚本
调用一个js文件

我使用
get\u template\u directory()
,如下所示:

$myfile = wp_normalize_path(get_template_directory().'/js/script.js');
$myversion = filemtime($myfile);
wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );
$myfile = get_template_directory_uri().'/js/script.js';
$myversion = filemtime(get_template_directory().'/js/script.js');
wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );
这在服务器上起作用:如果我回显
$myfile
,它将返回一个真实路径,如
/home/public\html/folder/wp content/themes/mytwentythetic/js/script.js
,而在网页上它将正确返回文件的绝对路径

(请注意,如果我使用
get\u template\u directory\u uri
,上述部分(至少是
filemtime
部分)将失败)

在我的本地xampp安装(Windows计算机)上,这不起作用

如果我执行echo$myfile,它将返回正确的本地路径:

D:/path/to/folder/wp-content/themes/mytwentysixteen/js/script.js
但是,在
wp\u enqueue\u script
之后,它会在网页上返回如下内容:

http://localhost/folderD:pathtofolder/wp-content/themes/mytwentysixteen/js/script.js
页面无法检索脚本。 这似乎是本地主机上的主url和本地windows路径之间的奇怪结合


wp\u normalize\u path
似乎没有帮助。

显然,解决方案是
get\u template\u directory()
不应用于将脚本排队,而应用于php函数,如
filemtime

因此,解决方案是将两者分开,如下所示:

$myfile = wp_normalize_path(get_template_directory().'/js/script.js');
$myversion = filemtime($myfile);
wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );
$myfile = get_template_directory_uri().'/js/script.js';
$myversion = filemtime(get_template_directory().'/js/script.js');
wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );
在这里,我使用
get\u template\u directory\u uri()
检索脚本,并使用
get\u template\u directory()
获取文件的时间戳,两者都可以在xampp上正常工作