Wordpress - 在特定页面模板上加载jQuery

时间:2017-11-03 13:56:00

标签: javascript php jquery wordpress

我有一个页面模板需要在标题而不是页脚中加载jQuery。

主题(Divi Theme)默认在页脚中加载jQuery。当jQuery加载两次时,这会导致一些错误。

有什么办法可以修改<?php wp_footer(); ?>来排除这个模板的jQuery吗?

感谢。

模板:     

<!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
  <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="<?php echo get_site_url(); ?>/cam-forms/styles/cam-forms.min.css" />
    <script type="text/javascript" src="<?php echo get_site_url(); ?>/cam-forms/js/jquery.js"></script>
    <script type="text/javascript" src="<?php echo get_site_url(); ?>/cam-forms/js/jquery-migrate.min.js"></script>        
  </head>
  <body>       
    <?php echo do_shortcode( get_field('form') );  ?>    
    <?php wp_footer(); ?>
  </body>
</html>

2 个答案:

答案 0 :(得分:0)

您必须在以下位置添加<?php wp_head(); ?>

<!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
  <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="<?php echo get_site_url(); ?>/cam-forms/styles/cam-forms.min.css" />
    <script type="text/javascript" src="<?php echo get_site_url(); ?>/cam-forms/js/jquery.js"></script>
    <script type="text/javascript" src="<?php echo get_site_url(); ?>/cam-forms/js/jquery-migrate.min.js"></script>
  <?php wp_head(): ?>  
  </head>
  <body>       
    <?php echo do_shortcode( get_field('form') );  ?>    
    <?php wp_footer(); ?>
  </body>
</html>

然后,在你的文件functions.php中添加这个..

function theme_scripts(){
  wp_register_script('fileName', get_template_directory_uri() . '/js/file.js', array( ), '1.0.0');
  wp_enqueue_script('fileName');
}
add_action('init', 'theme_scripts');

另外,我总是建议您使用CSS和JS的缩小文件。

答案 1 :(得分:0)

在function.php中添加以下函数,在标题中添加js和css文件,并在页脚中删除文件

<?php
remove_action('wp_footer', 'wp_enqueue_scripts', 1);
add_action('wp_head', 'wp_enqueue_scripts', 5);
function mycustomscript_enqueue() {
    wp_enqueue_style( 'ca-forms-min', get_template_directory_uri() . '/cam-forms/styles/cam-forms.min.css', array('ca-forms-min'));
    wp_enqueue_script( 'jquery', get_stylesheet_directory_uri() . '/cam-forms/js/jquery.js', array( 'jquery' ));
    wp_enqueue_script( 'jquery-migrate', get_stylesheet_directory_uri() . '/cam-forms/js/jquery-migrate.min.js', array( 'jquery-migrate' ));
}
add_action( 'wp_enqueue_scripts', 'mycustomscript_enqueue' );
?>