【问题标题】:adding javascript file to wordpress将javascript文件添加到wordpress
【发布时间】:2014-03-09 23:44:52
【问题描述】:

我正在尝试将 JavaScript 文件添加到我的 WordPress 网站。该文件名为 social.js,包含我的 facebook、twitter 等按钮的所有脚本,以及一些 JS,用于显示在帖子页面上滚动显示的浮动菜单。

我已将文件上传到我的父主题 js 文件夹,但不知道从这里去哪里。

我是否使用:

wp_register_script()

我是否使用:

wp_enqueue_script()

我是否使用这样的东西:

<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>

我应该把所有这些JS文件合并为一个吗?

我正在使用 22 个儿童主题。

任何建议将不胜感激。

谢谢

詹姆斯

【问题讨论】:

    标签: javascript wordpress


    【解决方案1】:

    我会使用:

    functions.php 中的 wp_enqueue_script()。

    我的主题中有一个看起来有点像这样:

    wp_enqueue_script( 'THEMENAME-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );
    

    【讨论】:

      【解决方案2】:

      您可以使用前 2 个或第 3 个选项。 基本上 register_script 为您的脚本分配一个 wordpress 内部名称,您可以根据其他一些脚本将其注册为它。例如,您可以说您的 social.js 取决于要加载的查询文件。 http://codex.wordpress.org/Function_Reference/wp_register_script#Example_of_Automatic_Dependency_Loading

      附:如果您使用的是 wordpress 默认主题文件夹并且您更新了 WP 版本,则默认主题文件夹也会在此过程中更新。

      【讨论】:

        【解决方案3】:

        如果您使用的是 TwentyTwelve 的子主题,那么应该将您的 JS 上传到那里,而不是父主题。

        然后将以下内容添加到您的functions.php中以正确加载JS。

        function wpse_load_scripts() {
            wp_enqueue_script( 'wpse-html5', get_stylesheet_directory_uri() . '/js/html5.js', array(), '1.0', true );
        }
        add_action( 'wp_enqueue_scripts', 'wpse_load_scripts' );
        

        好的,让我们分解上面的代码。

        您正在对 enqueue scripts 操作运行 wpse_load_scripts()。

        wp_enqueue_script 的第一个参数是句柄。文件的唯一名称。 html5 有点通用,所以我在它前面加上了 wpse-。第二个参数是路径。记住这是一个子主题,这就是 JS 应该在的地方,所以我使用 get_stylesheet_directory_uri() 而不是 get_template_directory_uri()。三是依赖。我假设不需要脚本,所以我将其保留为空白数组。如果您需要 jQuery 来使脚本工作,您可以将 'jquery' 放入数组中。第四,我们有版本号。最后是这是否应该加载到页脚中。真 = 是 / 假 = 不。

        希望对您有所帮助,如果您需要我澄清任何事情,请告诉我。

        【讨论】:

        • 感谢 Nathan 回复我,我已经搜索了互联网并没有为新手找到足够明确的答案。您的答案效果很好,并从我的子主题中获取文件 - 下面的 wpdoodles 答案也有效,但前提是文件位于父主题中。我认为这是因为
        • get_template_directory 只从父主题中获取文件? get_stylesheet_directory 从子主题中获取它?
        • 詹姆斯就是这样。 get_template_directory_uri 将返回父主题的 URL,get_stylesheet_directory_uri 返回子主题的 URL。无论如何,如果这有帮助,请务必接受并投票:)
        • 谢谢 nathan,我需要声望才能投票,所以我想我必须帮助这里的一些人来做到这一点!
        猜你喜欢
        • 1970-01-01
        • 2020-04-28
        • 1970-01-01
        • 2014-03-26
        • 1970-01-01
        • 2012-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多