首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在创建Wordpress插件- JS正在加载但未运行

正在创建Wordpress插件- JS正在加载但未运行
EN

Stack Overflow用户
提问于 2013-02-07 14:03:17
回答 2查看 1.2K关注 0票数 0

我遇到了一个奇怪的问题。下面的代码加载WP jQuery库和我自己的JS文件。我点击了路径,他们就加载了文件。它们都加载在页面的底部(上图),jQuery库在我的文件之前。

我正在使用jQuery UI中的日期选择器,但它无法加载。jQuery需要在最上面吗?如果是这样的话,我怎么才能让它进入头部呢?我试着重写$in_footer,但没有成功。

我是一个创建插件的新手,所以我是不是完全错过了什么?

任何帮助都将不胜感激。

代码语言:javascript
复制
<?php
 add_action('admin_init', 'ps_events_admin_init');
 add_action('admin_menu', 'ps_events_admin_menu'); 

 function ps_events_admin_init(){
    wp_register_script('ps-events-script', plugins_url('/js/psevents.js', __FILE__)); 
    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_script('ps-events-script');  
 }

 function ps_events_admin(){        
    include('psevents-admin_view.php');
 } 

 function ps_events_admin_menu(){  
     add_menu_page("PS Events", "PS Events", 1, "PS Events", "ps_events_admin");  
 }
 ?>

HTML输出

代码语言:javascript
复制
 <script type='text/javascript' src='http://localhost:8888/mysite/wp-admin/load-scripts.php?c=1&amp;load%5B%5D=admin-bar,hoverIntent,common,jquery-ui-core,jquery-ui-datepicker,jquery-ui-widget,jquery-ui-position,wp-pointer&amp;ver=3.5.1'></script>
 <script type='text/javascript' src='http://localhost:8888/mysite/wp-content/plugins/psevents/js/psevents.js?ver=3.5.1'></script>
 </body>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-07 14:49:50

您应该在javascript文件之前加载jQuery

代码语言:javascript
复制
 function ps_events_admin_init(){
    wp_register_script('ps-events-script', plugins_url('/js/psevents.js', __FILE__)); 
    wp_enqueue_script('jquery');
    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_script('ps-events-script');  
 }

注意:由于您使用的是与WordPress捆绑在一起的jQuery,因此jQuery是以noConflict模式加载的。USe jQuery而不是$

或者使用以下替代方法:

代码语言:javascript
复制
jQuery(document).ready(function($){
//use $ here
});
票数 1
EN

Stack Overflow用户

发布于 2013-02-07 14:35:18

我建议您使用:

代码语言:javascript
复制
<?php
add_action('wp_head','ps_events_admin_menu');
add_action('wp_head','ps_events_admin_init');
wp_enqueue_script('jquery');
?>

如果你有自己的JavaScript,你可以像这样嵌入一个函数:

代码语言:javascript
复制
<?php
add_action('wp_head','mysample');
wp_enqueue_script('jquery');
function mysample()
{
echo '<script language="JavaScript"> and JavaScript code';
}
?>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14744653

复制
相关文章

相似问题

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