在WordPress中,您应该使用wp_enqueue_script()
加载JavaScript文件,以及wp_enqueue_style()
要加载CSS文件,应使用wp_enqueue_scripts
行动挂钩。此外,主题需要调用wp_head()
(英寸header.php
) 和wp_footer()
.
要将脚本仅排在特定页面上,可以使用conditional tag 喜欢is_page()
在你的情况下。
所以这应该是可行的,并且应该放在主题中functions.php
文件:
add_action( \'wp_enqueue_scripts\', \'my_custom_enqueue_scripts\' );
function my_custom_enqueue_scripts() {
// If the Page slug is \'vehicles\', then we load the files.
if ( is_page( \'vehicles\' ) ) {
wp_enqueue_style( \'chunk-styles\', \'https://example.thirdparty.com/static/css/chunk.css\', [], null );
wp_enqueue_style( \'main-styles\', \'https://example.thirdparty.com/static/css/main.css\', [], null );
wp_enqueue_script( \'runtime-main\', \'https://example.thirdparty.com/static/js/runtime-main.js\', [], null );
wp_enqueue_script( \'chunk-js\', \'https://example.thirdparty.com/static/js/chunk.js\', [], null );
wp_enqueue_script( \'main-js\', \'https://example.thirdparty.com/static/js/main.js\', [], null );
}
}
更新
以上代码会发生什么:
WordPress检查URL是否满足以下标准页面请求/URLhttps://example.com/vehicles
.
如果是这样,WordPress将对上述代码中引用的CSS和JS文件进行排队(即注册和加载)。例如,您可以在文档的head
(<head>here</head>
):
<link rel="stylesheet" href="https://example.thirdparty.com/static/css/chunk.css" />
... other \'link\'/\'script\'/HTML tags here ...
<script src="https://example.thirdparty.com/static/js/chunk.js"></script>
因此函数(
my_custom_enqueue_scripts()
) 不需要在源代码/HTML中的任何位置手动调用,因为该函数连接到
wp_enqueue_scripts
当WordPress调用
/vehicles
页
但如果你必须打印link
和script
中的标记div
如更新的问题所示,那么您可以使用wp_register_style()
具有wp_register_script()
在上述功能中,而不是wp_enqueue_style()
具有wp_enqueue_script()
. 因此:
add_action( \'wp_enqueue_scripts\', \'my_custom_enqueue_scripts\' );
function my_custom_enqueue_scripts() {
// If the Page slug is \'vehicles\', then register the files.
if ( is_page( \'vehicles\' ) ) {
wp_register_style( \'chunk-styles\', \'https://example.thirdparty.com/static/css/chunk.css\', [], null );
wp_register_style( \'main-styles\', \'https://example.thirdparty.com/static/css/main.css\', [ \'chunk-styles\' ], null );
wp_register_script( \'runtime-main\', \'https://example.thirdparty.com/static/js/runtime-main.js\', [], null );
wp_register_script( \'chunk-js\', \'https://example.thirdparty.com/static/js/chunk.js\', [ \'runtime-main\' ], null );
wp_register_script( \'main-js\', \'https://example.thirdparty.com/static/js/main.js\', [ \'chunk-js\' ], null );
}
}
然后在你的
div
, 呼叫
wp_print_styles()
和
wp_print_scripts()
:
<div class="row collapse">
<?php
wp_print_styles( \'main-styles\' ); // also loads chunk-styles
wp_print_scripts( \'main-js\' ); // also loads chunk-js and runtime-main
?>
</div>
更好的做法:加载CSS文件head
.
是的,你应该,尽管
<link>
允许进入
body
.
add_action( \'wp_enqueue_scripts\', \'my_custom_enqueue_scripts\' );
function my_custom_enqueue_scripts() {
// If the Page slug is \'vehicles\', then enqueue the CSS and register the JS.
if ( is_page( \'vehicles\' ) ) {
wp_enqueue_style( \'chunk-styles\', \'https://example.thirdparty.com/static/css/chunk.css\', [], null );
wp_enqueue_style( \'main-styles\', \'https://example.thirdparty.com/static/css/main.css\', [ \'chunk-styles\' ], null );
wp_register_script( \'runtime-main\', \'https://example.thirdparty.com/static/js/runtime-main.js\', [], null );
wp_register_script( \'chunk-js\', \'https://example.thirdparty.com/static/js/chunk.js\', [ \'runtime-main\' ], null );
wp_register_script( \'main-js\', \'https://example.thirdparty.com/static/js/main.js\', [ \'chunk-js\' ], null );
}
}
然后在你的
div
, 呼叫
wp_print_scripts()
仅限:
<div class="row collapse">
<?php
// wp_print_styles( \'main-styles\' ); // the files already loaded in \'head\'
wp_print_scripts( \'main-js\' ); // also loads chunk-js and runtime-main
?>
</div>
或使用原始PHP函数并在页脚中加载JS文件
是的,只需设置
wp_enqueue_script()
到
true
将脚本文件加载到页脚中(打印在之前的某个位置
</body>
或者无论你打电话到哪里
wp_footer()
). E、 g。
wp_enqueue_script( \'chunk-js\', \'https://example.thirdparty.com/static/js/chunk.js\', [], null, true );