我认为您在文件和路径字符串上添加了太多额外的位。
尝试以下操作:
function _s_scripts() {
$js_dir = get_template_directory_uri() . "/js/";
foreach(glob($js_dir.\'*.*\') as $file) {
$label = str_replace(".", "", $file);
wp_enqueue_script($label, $file , array(\'jquery\'), \'1.0.0\');
}
}
add_action( \'wp_enqueue_scripts\', \'_s_scripts\' );
当我在本地针对dir运行类似的函数时,您添加的额外“/”和额外“.js”可能会导致找不到文件。另外-您添加了
$js_dir
第二次,当
$file
已经有相关信息了
编辑:
为了更好地解释:$file
当您附加第二个“.js”时,名称中已经有“.js”-这些文件在逻辑上不存在(除非您有未提及的命名约定)。
也-在$js_dir
- 您已经有了尾随的正斜杠,但是当您尝试搜索/*.*
- 这不是一个有效的模式,因此它进一步混淆了glob。
至少我是这样理解的。我编写的测试线束是:
<?php
error_reporting(E_ALL);
error_reporting(-1);
ini_set(\'error_reporting\', E_ALL);
$js_dir = "/Users/MYUSER/Sites/";
$fileglob = glob($js_dir.\'*.*\');
echo count($fileglob);
foreach( $fileglob as $file) {
$label = str_replace(".", "", $file);
echo $file;
}
echo "done";
?>
再编辑一次:
使其成为更好的搜索,而不是*.*
这样做:。。。。
foreach(glob($js_dir.\'*.js\') as $file) {
这样,如果您有其他系统文件(如缩略图图标、文本文件等)他们不会和地球仪在一起