【发布时间】:2014-07-06 23:55:26
【问题描述】:
我编写了一个非常基本的插件,并在本地站点(通过 MAMP 运行)和实时站点上对其进行了测试。当我在实际站点上安装插件时,我在用于用户端的脚本上使用它并没有加载。 wp-admin 中使用的所有后端代码都可以正常工作,但用户 js 文件甚至没有加载到站点上。但是,它会影响其他人:
add_action("wp_enqueue_scripts", "headerPromoTxt_user_scripts");
function headerPromoTxt_user_scripts(){
wp_register_script('headerPromoTxt_user',plugins_url('/js/header-promo-txt-user.js', __FILE__ ),array('jquery'),'',true);
wp_enqueue_script('headerPromoTxt_user');
wp_localize_script('headerPromoTxt_user', 'myAjax', array('ajaxurl'=>admin_url('admin-ajax.php')));
wp_enqueue_script('headerPromoTxt_user');
}
我已打开调试,但代码没有出现任何错误。我也刚刚尝试过echo "test" 来查看该函数是否已运行,但我什么也没得到。这几乎就像主题忽略了wp_enqueue_scripts 操作。
【问题讨论】:
-
您看到页面源中添加了
<script src="..."></script>吗?浏览器控制台说什么?我猜它的路径有问题,也许您的本地副本位于/site/,而现场位于/ -
没有
<script src="..."></script>并且控制台中没有错误。我想也许它是一个丢失的文件,但如果我直接转到文件 url 它就在那里。 -
我刚刚发现该主题中缺少
wp_footer()和wp_header()。添加它们并没有解决任何问题...... -
哎呀!
wp_head()不是wp_header()。将其添加到 header.php 解决了问题