在functions.php中入队脚本后,Javascript无法在wordpress上运行

Posted

技术标签:

【中文标题】在functions.php中入队脚本后,Javascript无法在wordpress上运行【英文标题】:Javascript not working on wordpress after enqueue script in functions.php 【发布时间】:2015-01-03 19:10:52 【问题描述】:

我想添加一个 javascript 文件,但它不起作用。我正在使用 Avada 主题。我把它放在我的functions.php 文件的顶部。我保存了但我在页面的源代码中没有看到它。我正在尝试让脚本在此页面上运行:http://192.185.2.154/~sogo/tempsourceoneevents.com/exhibitor-services/build-a-booth/

functions.php中的代码

<?php

function my_scripts_method() 
    wp_enqueue_script(
        'custom-script',
        get_template_directory_uri() . '/js/bab.js',
        array( 'jquery' )
    );


add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

我的问题的答案在 @adeneo 的 cmets 中,我需要编辑我的 javascript 文件

“不,您可以在 Wordpress 中将 $(document).ready 替换为 jQuery(function($) ... ); ,这会锁定美元符号的值,因此您可以在该 DOM 中使用美元符号就绪函数。”

【问题讨论】:

首先您需要使用jQuery(function($) ... 来包装代码,因为Wordpress 始终处于noConflict 模式并且不识别美元符号。其次,您需要使用 jQuery 作为依赖项对脚本进行 wp_enqueue,所有这些都在 Wordpress Codex 中进行了解释。 @Hitu Bansal 是网站的目录。 ip/目录/站点名称是站点的 url。 @adeneo 我是否仍保留 "$(document).ready(function() " 并将 "jQuery(function($) " 放在它之前,然后以 结束?我在 youtube 视频之后也将脚本排入队列。我更改了我的问题,但我没有在源代码中看到它是否有效。 不,您可以在 Wordpress 中将 $(document).ready 替换为 jQuery(function($) ... );,这会锁定 $sign in 的值,因此您可以在该 DOM 就绪函数中使用 $sign。 【参考方案1】:

试试这个代码..

你需要先添加jquery库

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script type="text/javascript" src="http://192.185.2.154/~sogo/tempsourceoneevents.com/wp-content/uploads/bab.js"></script>

【讨论】:

以上是关于在functions.php中入队脚本后,Javascript无法在wordpress上运行的主要内容,如果未能解决你的问题,请参考以下文章

如何在functions.php(wordpress)中加载引导脚本和样式?

php 在functions.php中声明后显示小部件

php 将此脚本插入到WordPress主题中的functions.php中(了解开启和关闭的php标记)以允许Gr中的字段组

嵌套包含失败

PHP WP添加后缩略图 - functions.php

如何编辑我的入队脚本函数以包含 Internet Explorer 和页面模板样式表?