4

我有一个定制的幻灯片,我使用 jQuery 开发。它在我的本地机器上完美运行,但是当我尝试将它转换到 wordpress 服务器时,它就无法工作......

这就是我链接我的javascript文件的方式:

<?php wp_enqueue_script("jquery"); ?>       
        <?php wp_head(); ?>
        <script type="text/javascript" src="<?php bloginfo('template_url') ?>/js/jQuery.js"></script>
        <script type="text/javascript" src="<?php bloginfo('template_url') ?>/js/JQueryUI.js"></script>
        <script type="text/javascript" src="<?php bloginfo('template_url') ?>/js/slider.js"></script>
        <script type="text/javascript" src="<?php bloginfo('template_url') ?>/js/gallery.js"></script>

而且我还检查了javascript是否正常工作(警报之类的东西)。但是与 jQuery 相关的一切都没有。

迫切需要帮助。任何提示或相关教程的链接都可以。提前谢谢!

4

2 回答 2

6

你应该wp_enqueue_script()在你的functions.php文件中使用,而不是你的header.php. (并且您要添加 jQuery 两次)

函数.php:

function my_scripts_method() {
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'jquery-ui', get_template_directory_uri() . '/js/JQueryUI.js', );
    wp_enqueue_script( 'slider', get_template_directory_uri() . '/js/slider.js' );
    wp_enqueue_script( 'gallery', get_template_directory_uri() . '/js/gallery.js' );
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

您还应该注意,WordPress 在noConflict 模式下将 jQuery 排入队列,因此您需要noConflict 包装器才能使用$

jQuery(document).ready(function($) {
    // your code here
});

然后你只需调用wp_head(),WordPress 就会自动将这些 javascript 添加到你的页面中。

于 2013-06-07T09:28:21.830 回答
1

正如您在此处看到的:Function Reference/wp head,在In 20 主题示例中,他们添加了一条注释:

/* Always have wp_head() just before the closing </head>
 * tag of your theme, or you will break many plugins, which
 * generally use this hook to add elements to <head> such
 * as styles, scripts, and meta tags.
 */

这只是说您需要在wp_head();关闭<head></head>.

所以试着把这条线:

<?php wp_head(); ?>

<head>作为关闭站点之前的最后一行。

我看到的另一个问题是你忘了用;

这是非常关键的!

使用您在此处提供的代码,将其更改为:

<?php wp_enqueue_script("jquery"); ?>       
    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jQuery.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/JQueryUI.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/slider.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/gallery.js"></script>
    <?php wp_head(); ?>
于 2013-06-07T08:35:27.030 回答