WordPress jQuery脚本没有在jQuery.noConflict用法的一个实例上启动

我有Wordpress 2实例:本地和远程(远程应该非常相似,主要是从本地上传,除了几个插件)。 代码使用的是jQuery.noConflict方法,因为没有它,在添加大量插件后它无法在本地工作。 现在,当它上传到远程Wordpress时,它仍然没有从那里开始,但它在本地工作:)。 JS方法刚刚开始。 确保文件附加了HTML文件的HEAD部分中的正确路径。 控制台中没有显示错误。

预期的行为是:JS警报应该出现,但不是。

JS代码在这里:

var jQueryAlias = jQuery.noConflict(); function customizeWebUIForEmailSubscriberPlugin() { alert("customizeWebUIForEmailSubscriberPlugin"); //format input button jQueryAlias('#elp_txt_email').removeClass('elp_textbox_class').addClass('form-control').addClass('full-width'); //format input button jQueryAlias('#elp_txt_email').removeClass('elp_textbox_class').addClass('form-control').addClass('full-width'); //format message text //jQuery('.elp_msg').removeClass('elp_msg').addClass('post-body'); jQueryAlias('#elp_msg').addClass('message-format'); //hide submit button jQueryAlias('#elp_txt_button').addClass('hide'); //hide email label jQueryAlias('.elp_lablebox').addClass('hide'); } jQueryAlias(customizeWebUIForEmailSubscriberPlugin); 

请尝试以下方法。 该函数应该在document.ready触发,但您也可以随时调用它。

 jQuery(function ($) { function customizeWebUIForEmailSubscriberPlugin() { alert("customizeWebUIForEmailSubscriberPlugin"); //format input button $('#elp_txt_email').removeClass('elp_textbox_class').addClass('form-control').addClass('full-width'); //format input button $('#elp_txt_email').removeClass('elp_textbox_class').addClass('form-control').addClass('full-width'); //format message text //jQuery('.elp_msg').removeClass('elp_msg').addClass('post-body'); $('#elp_msg').addClass('message-format'); //hide submit button $('#elp_txt_button').addClass('hide'); //hide email label $('.elp_lablebox').addClass('hide'); } $(document).ready(function() { customizeWebUIForEmailSubscriberPlugin(); }); }); 

编辑:

为了在WP中添加jquery,在关闭php标签tat之前将此代码添加到主题的functions.php文件的底部: ?>

 function pk_enqueue_scripts() { wp_enqueue_script('jquery'); } add_action('pk_enqueue_scripts', 'wp_enqueue_scripts'); 

问题是在两个服务器(本地和远程)上,jQuery lib以不同的顺序附加在HEAD标记中。 在我的本地机器上:jQuery是在script.js之后附加的,并且有效。 对于远程:jQuery是在我的script.js之后附加的。 我不确定为什么它在我的远程机器上以这种方式工作。

解决方案:添加代码后

  

在HEAD标签之后,它工作:)。