0

我制作了一个名为 test-stuff.php 的模板,并尝试在其中使用 jQuery 和 jQuery 验证插件。我已经在我的functions.php 文件中加入了脚本,并且jQuery 在其他常规页面上运行良好,但在我的模板中却不行。有人能指出我哪里出错了吗?我是否必须为模板单独排队 jquery 和 jquery 插件?如果我遗漏了一些细节,请询问,我会提供。提前致谢。

functions.php 排队部分:

function my_custom_queue() {
    wp_enqueue_script('jquery');
    wp_enqueue_script( 'validatejq', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js', array( 'jquery' ), '1' );
}
add_action( 'wp_enqueue_scripts', 'my_custom_queue' );

带有 jquery 测试功能的模板文件(我得到“否”):

<?php 

/* Template name: Test stuff */

?>
<script>
window.onload = function() {
    /* test */
    if (window.jQuery) {
        alert("Yes");
    } else {
        alert("No");
    }
};

</script>
4

2 回答 2

1

您应该get_header()在页面模板中使用以获取页面中的标题代码(包括排队的脚本)。你可能也想使用get_footer()。一些脚本包含在页脚中。

于 2019-03-06T13:09:31.493 回答
1

据我所知,您不需要入队,它已经被 WordPress 入队。检查一些已经包含的 JS 库。你也没有get_header()打电话get_footer()

您可以查看以下链接以获取已包含库的列表。

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

于 2019-03-06T13:08:58.593 回答