【问题标题】:Enqueueing jQuery plugin in Wordpress theme template在 Wordpress 主题模板中排队 jQuery 插件
【发布时间】:2019-03-06 12:58:20
【问题描述】:

我制作了一个名为 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>

【问题讨论】:

  • 您没有在模板中包含get_header()get_footer(),因此脚本永远不会包含在内。或者这是您遗漏的细节之一?
  • 是的,这就是问题所在,感谢您如此迅速地回复。很抱歉这个奇怪的简单问题。
  • 没问题@Zae,乐于助人!

标签: javascript php jquery wordpress enqueue


【解决方案1】:

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

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

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

【讨论】:

  • 我不敢相信我错过了。非常感谢!
  • 太好了,很高兴为您提供帮助。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-05-29
    • 2015-06-12
    • 1970-01-01
    • 2019-05-28
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多