Я хочу вызвать js-файл с помощью wp_enqueue_script
.
Я использую get_template_directory()
, например:
$myfile = wp_normalize_path(get_template_directory().'/js/script.js'); $myversion = filemtime($myfile); wp_enqueue_script('myscript', $myfile , array( 'jquery' ), $myversion, true );
это работает на сервере: если я эхо $myfile
, он возвращает реальный путь, например /home/public_html/folder/wp-content/themes/mytwentysixteen/js/script.js
, тогда как на веб-странице он возвращает абсолютный путь в файл правильно.
(Обратите внимание, что выше – хотя бы часть filemtime
сбой, если я использовал get_template_directory_uri
.)
На моей локальной установке xampp (машина Windows) это не работает.
Если я делаю echo $myfile
, он возвращает правильный локальный путь:
D:/path/to/folder/wp-content/themes/mytwentysixteen/js/script.js
Однако, следуя wp_enqueue_script
, на веб-странице он возвращает что-то вроде этого:
http://localhost/folderD:pathtofolder/wp-content/themes/mytwentysixteen/js/script.js
и страница не сможет извлечь сценарий. Это кажется странным браком между домашним url на localhost и локальным окном.
wp_normalize_path
, похоже, не помогает.