Wordpress没有排队脚本

时间:2017-10-24 17:01:36

标签: javascript php css wordpress

我正在构建一个新主题,现在事情非常简单。我有index.php,style.css和functions.php文件。我试图加载主题所需的css和javascript文件。目前我的functions.php文件看起来像这样......

<?php

function get_pds_resources() {
  wp_enqueue_style("main", get_template_directory_uri() . "/assets/css/main.css");
  wp_enqueue_script("jquery", get_template_directory_uri() . "/assets/js/jquery.js");
  wp_enqueue_script("dropotron", get_template_directory_uri() . "/assets/js/dropotron.js");
  wp_enqueue_script("selectorr", get_template_directory_uri() . "/assets/js/selectorr.js");
  wp_enqueue_script("scrollex", get_template_directory_uri() . "/assets/js/scrollex.js");
  wp_enqueue_script("scrolly", get_template_directory_uri() . "/assets/js/scrolly.js");
  wp_enqueue_script("skel", get_template_directory_uri() . "/assets/js/skel.js");
  wp_enqueue_script("util", get_template_directory_uri() . "/assets/js/util.js");
  wp_enqueue_script("main", get_template_directory_uri() . "/assets/js/main.js");
}

add_action("wp_enqueue_scripts", "get_pds_resources");

问题是,似乎根本没有加载任何东西。没有样式表,也没有javascript。

为了确保可以访问我的资源,我将以下内容放在index.php文件中,它运行正常。

<link rel="stylesheet" href="<?php echo get_template_directory_uri() . "/assets/css/main.css"; ?>" />
...
...
...
<script src="<?php echo get_template_directory_uri() . "/assets/js/jquery.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/dropotron.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/selectorr.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/scrollex.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/scrolly.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/skel.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/util.js"; ?>"></script>
            <script src="<?php echo get_template_directory_uri() . "/assets/js/main.js"; ?>"></script>

我可以这样做,但如果能让它发挥作用,我更愿意以正确的方式去做。任何人都知道它为什么不装任何东西?

5 个答案:

答案 0 :(得分:1)

我认为你缺少wp_enqueue_script函数中的参数

尝试在wp_enqueue_script函数末尾添加这3个参数,如下例

wp_enqueue_script('custom-js',get_template_directory_uri() . '/assets/js/cat.js',array(), null, true);

答案 1 :(得分:0)

您正在尝试使用jquery,main,util等名称注册句柄。这些可能已经在使用,jquery肯定会。

如果要替换已注册的句柄

,请使用唯一句柄或使用wp_deregister_script()

我假设您在主题中的某个地方呼叫wp_head()wp_footer(),如果没有,那么它将永远无法运作。

答案 2 :(得分:0)

在标题部分只是打开body标签调用此挂钩...

rightToolbarButton

答案 3 :(得分:0)

尝试为句柄名称添加前缀,您正在使用的某些句柄名称(如 main,util,jquery )已经被wordpress核心本身声明和使用,它会产生名称冲突,无论是前缀还是使用不同的句柄名称。

答案 4 :(得分:0)

在激活主题的functions.php中使用此代码

self.client.Comments.push({ Id: self.comment.Id, Value: self.comment.Value, ClientId: self.comment.ClientId, Created: moment()  });
希望它会对你有所帮助。