【如何使用wp_enqueue_script在foreach中更改顺序()】我为每个循环创建了一个, 用于在页脚中动态地从构建文件夹中加载所有脚本文件, 以用于开发和生产模式。这样, 我不需要手动替换脚本文件。
但是我有一个问题, 我不知道如何将文件的顺序更改为特定顺序。
应该是:运行时, 供应商, 主要。
这是我的PHP代码:
// First check if "JS" folder exist to prevent errors.
if(is_dir(THEME_DIR_ASSETS . '/js')) {
// Enqueue all scripts.
function nm_enqueue_scripts() {
$directoryJS = new DirectoryIterator(THEME_DIR_ASSETS . '/js');
wp_deregister_script('jquery');
wp_enqueue_script('jquery', 'https://code.jquery.com/jquery-2.2.4.min.js', array(), null, false);
foreach ($directoryJS as $file) {
if (pathinfo($file, PATHINFO_EXTENSION) === 'js') {
$fullName = basename($file);
$name = substr(basename($fullName), 0, strpos(basename($fullName), '.'));
wp_enqueue_script($name, THEME_DIR_JS . '/' . $fullName, $name, null, true);
}
}
}
add_action('wp_enqueue_scripts', 'nm_enqueue_scripts');
}
我怎样才能做到这一点?
#1你将需要指定每个文件的依赖关系, 以便能够按所需顺序将它们加入队列。因此, 在$ directoryJS数据中, 你可以设置每个脚本的依赖关系, 使其看起来像这样:
$directoryJS = [
[
'script_name' =>
'some-name'
'script_url' =>
'path to script', 'deps' =>
[ 'other-file-name']
], [
'script_name' =>
'other-file-name'
'script_url' =>
'path to other script', 'deps' =>
[ ]
]
]
在foreach语句中, 入队脚本功能将如下所示:wp_enqueue_script($ script_name, THEME_DIR_JS。’ /’ 。$ fullName, $ deps, ” , true); 。
在这种情况下, WP将在” some-name” 脚本之前加入” other-file-name” 脚本。
推荐阅读
- 如何将结帐页面中显示的”下订单”文本更改为”预订”( [关闭])
- 如何使用WordPress Avada子主题将主logo的链接更改为自定义URL而不是首页()
- 如何在WordPress帖子中更改h2,h3,h4的颜色
- 如何在WordPress中居中滑动条
- 如何避免在看起来有效的数组上出现php Countable错误
- 阿里云 yum 源切换
- [笨叔点滴12]面试必考(如果在中断处理函数里发生了缺页中断会怎样(为什么?))
- [笨叔点滴7] 再也回不去的C语言
- [笨叔点滴14] ARMv8里异常处理哪些蛇神牛鬼