首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress中的jQuery排队

Wordpress中的jQuery排队
EN

Stack Overflow用户
提问于 2018-12-31 23:51:06
回答 2查看 61关注 0票数 0

我正在尝试通过jQuery对functions.php文件进行排队,但它似乎不起作用。

我知道这个脚本可以工作,因为如果我把它放在.php文件的底部,放在<script>...</script>中,它就能正常工作。

该文件已被称为jargon.js

我在functions.php中调用了该文件,使用:

代码语言:javascript
复制
add_action('wp_enqueue_scripts','asap_scripts');
// Register your assets during `wp_enqueue_scripts` hook inside 
`functions.php`.
function asap_scripts() {
   // Give the path of the script
    wp_register_script('js-jargon', get_stylesheet_directory_uri() . 
'/js/jargon.js',array('jquery')); 
}

我正在使用jQuery,我的JS代码如下:

代码语言:javascript
复制
function toggleAnswer() { 
jQuery(this).next('.jargon-desc').slideToggle();
 } 

 jQuery('.jargon-desc').hide();

 jQuery('.jargon-header').click(toggleAnswer);

任何帮助都会很好。我用同样的方法调用了其他脚本,效果很好。但我好像对这件事有意见..?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-01 00:05:52

首先,请在问题中包括JS,以及从控制台或php、日志等获得的错误( not working不是一种描述)。)

不管怎么说--

看起来您正在注册的脚本句柄,而不是真正的enqeuing .

代码语言:javascript
复制
     <?php
    function asap_scripts() {

    wp_register_script('my_amazing_script_handle',  get_stylesheet_directory_uri() . 
'/js/jargon.js', __FILE__), array('jquery'),'1.1', true);

    wp_enqueue_script('my_amazing_script_handle');
    }

    add_action( 'wp_enqueue_scripts', 'asap_scripts' );  
    ?>

如您所见,wp_register_script()只注册句柄,然后wp_enqueue_script()实际上是根据已注册句柄触发包含的。

至于其他可能的罪魁祸首,作为调试的经验规则(因为OP中缺少信息):

尝试将以下三个要点结合起来进行调试:

  • 指定jQuery而不是$。( wp中已知的问题)

如果您使用jQuery -然后指定jQuery('el')而不是$('el')

  • 在页脚处将脚本放入队列(挂钩wp_footer()操作)

就像这样:

代码语言:javascript
复制
 wp_enqueue_script( 'my-script-handler-js', 
                    plugins_url( '/src/my-script.js', dirname( __FILE__ ) ), 
                    array( 'jquery' ), 
                    filemtime( plugin_dir_path( __FILE__ ) . '/src/my-script.js' ), 
    ,'ver', TRUE );
  • jQuery(document).ready(function ($) { ... });射击
票数 3
EN

Stack Overflow用户

发布于 2019-01-01 00:56:52

@ObmerkKronen感谢您的帮助。

我做了一个简单的改变:

‘`function ASAP_scripts() {wp_register_script(’js-专业术语‘,get_stylesheet_directory_uri()。'/js/jargon.js',数组(‘jquery’),'1.1',真);wp_enqueue_script(‘js-行话’);}

代码语言:javascript
复制
add_action( 'wp_enqueue_scripts', 'ASAP_scripts' );  `

效果很好。再次感谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53992188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档