更改首先加载jQuery的Add_action挂钩的顺序

时间:2014-03-11 作者:mcnesium

a slider plugin 使用add\\u action()钩子将其javascript“放在结束正文标记之前”,如下所示:

protected static function addAction($action,$eventFunction){
    add_action( $action, array(self::$t, $eventFunction) );         
}
-

UniteBaseClassRev::addAction(\'wp_footer\', \'putJavascript\');
-

public function putJavascript(){
    $urlPlugin = UniteBaseClassRev::$url_plugin."rs-plugin/";
    ?>
    <script type=\'text/javascript\' src=\'<?php echo $urlPlugin?>js/jquery.themepunch.plugins.min.js?rev=<?php echo GlobalsRevSlider::SLIDER_REVISION; ?>\'></script>
    <script type=\'text/javascript\' src=\'<?php echo $urlPlugin?>js/jquery.themepunch.revolution.min.js?rev=<?php echo  GlobalsRevSlider::SLIDER_REVISION; ?>\'></script>
    <?php
}
the theme I use 还使用add\\u action()注销wordpress jquery并使用其自己的:

function FoundationPress_scripts() {
// deregister the jquery version bundled with wordpress
wp_deregister_script( \'jquery\' );
// enqueue modernizr, jquery and foundation
wp_enqueue_script( \'modernizr\', get_template_directory_uri() . \'/js/modernizr/modernizr.min.js\', array(), \'1.0.0\', false );
wp_enqueue_script( \'jquery\', get_template_directory_uri() . \'/js/jquery/jquery.min.js\', array(), \'1.0.0\', true );
wp_enqueue_script( \'foundation\', get_template_directory_uri() . \'/js/app.js\', array(\'jquery\'), \'1.0.0\', true );
}
add_action( \'wp_enqueue_scripts\', \'FoundationPress_scripts\' );
现在发生的情况是,在加载jquery之前加载滑块脚本,因此无法工作:

devtools

所以我的问题是如何更改要激发的add\\u action()挂钩的顺序。任何其他解决方案都可以。

1 个回复
最合适的回答,由SO网友:elleeott 整理而成

我认为真正的答案是让插件作者使用wp\\u enqueue\\u script()正确加载脚本。

或者,您可以更改主题排队代码,将jquery输出到标头,方法如下(出于性能原因,这不是很好,但相对简单):

wp_enqueue_script( \'jquery\', get_template_directory_uri() . \'/js/jquery/jquery.min.js\', array(), \'1.0.0\', false );
或者,您可以重写插件代码,使其使用排队过程。

结束

相关推荐

使用快速编辑更新POST时,POST_ROW_ACTIONS过滤器不工作

我使用post\\u row\\u操作创建了两个链接,页面加载时显示良好。但使用快速编辑更新帖子后,链接将消失。是WordPress的bug还是我错过了什么。我的代码如下所示。add_filter(\'post_row_actions\', \'add_new_link\', 10, 2); public function add_new_link($actions, $page_object) { $actions[\'new_action\'] = \'<