如何自动将文件夹中的每个脚本排入队列?

时间:2017-08-14 作者:Lewis Menelaws

我有一整个js 文件夹中的脚本,并且必须将它们全部加载到wp_enqueue_script() 一个接一个。

有没有一种方法可以让我插入他们都在的目录,然后它就可以帮我完成?

2 个回复
SO网友:Johansson

使用wp_enqueue_script. 如果你认为它令人沮丧,那么有一个简单的解决方案。

PHP提供了一个可以列出文件和目录的函数。通过使用glob 您可以列出.js 文件,然后通过循环将其排队。

function enqueue_my_scripts(){
    foreach( glob( get_template_directory(). \'/path/*.js\' ) as $file ) {
        // $file contains the name and extension of the file
        wp_enqueue_script( $file, get_template_directory_uri().\'/path/\'.$file);
    }
}
add_action(\'wp_enqueue_scripts\', \'enqueue_my_scripts\');
A面不是那样的glob 使用相对路径,但wp_enqueue_script 使用URL。这就是为什么我使用不同的函数来获取文件夹的路径和URI。

SO网友:pixelslave

在WordPress 4.9上,使用相对路径(get\\u template\\u directory)返回$file作为完整路径,该路径在共享服务器上不可用。我发现我必须使用substr函数只返回文件名,然后从中构建URI。

foreach( glob( get_template_directory(). \'/path/*.js\' ) as $file ) {
    $filename = substr($file, strrpos($file, \'/\') + 1);
   wp_enqueue_script( $filename, get_template_directory_uri().\'/path/\'.$filename);
}

结束

相关推荐

在Functions.php中正确地将首页的CSS-TEMPLATE_REDIRECT排队?

我想加载一些特定的css来更改WP首页/主页的主体元素的颜色。在我的主题函数文件中,以下代码似乎有效,但有人能告诉我它是否“正确”吗?//Adding and Encuing styles for Front Page add_action( \'template_redirect\', \'front_page_design\' ); function front_page_design(){ if ( is_front_page() || is_home())