我猜你想把主题的css和js目录中的所有文件排队。这就是您尝试使用scandir()
. get_template_directory_uri()
返回URL而不是目录路径。您需要使用get_template_directory()
用于目录。
如果您想这样做,那么就在函数中这样做。php
function enqueue_all_front_resources(){
$js_directory = get_template_directory().\'/js/\';
$all_js_files = array_diff(scandir($js_directory), array(\'..\', \'.\'));
// to avoid .. and . from the scandir function i used array_diff
//now add the js with wp_enqueue_script()
foreach($all_js_files as $js_file){
wp_enqueue_script( $js_file.\'-name\', get_template_directory_uri() . \'/js/\'.$js_file );
}
$css_directory = get_template_directory().\'/css/\';
$all_css_files = array_diff(scandir($css_directory), array(\'..\', \'.\'));
//now add the css with wp_enqueue_style()
foreach($all_css_files as $css_file){
wp_enqueue_style( $css_file.\'-name\', get_stylesheet_uri().\'/css/\'.$css_file );
}
}
add_action(\'wp_enqueue_scripts\',\'enqueue_all_front_resources\');
Disadvantages 在这样做的时候
这样会添加不需要的资源,从而吃掉服务器和浏览器(许多文件请求和在浏览器中处理所有脚本都不会太慢)
除非在文件名末尾使用dependency命名js文件,并在enqueue\\u脚本中解析添加依赖项,否则您无法正确给出依赖项,并且还需要注意排序I
Won\'t recommand 此方法。为了自动化的利益,我回答了这个问题。因为你的思维方式是动态的。动态是好的,但我们需要确保它将正确有效地工作。