Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向wordpress添加javascript文件_Javascript_Wordpress - Fatal编程技术网

向wordpress添加javascript文件

向wordpress添加javascript文件,javascript,wordpress,Javascript,Wordpress,我正在尝试向我的WordPress站点添加一个JavaScript文件。该文件名为social.js,包含我的facebook、twitter等按钮的所有脚本,以及一些浮动菜单的js,这些浮动菜单显示在帖子页面的滚动条上 我已经将文件上传到我的父主题js文件夹,但不确定从这里转到哪里 我是否使用: wp_register_script() 我是否使用: wp_enqueue_script() 我是否使用类似于以下内容: <script src="<?php echo get_te

我正在尝试向我的WordPress站点添加一个JavaScript文件。该文件名为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>
wp_enqueue_script( 'THEMENAME-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );
我应该把所有这些JS文件合并成一个吗

我使用的是“二十一个孩子”主题

如有任何建议,将不胜感激

多谢各位

詹姆斯

我会用:

functions.php中的wp_enqueue_脚本

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

<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
wp_enqueue_script( 'THEMENAME-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );

您可以使用前2个或第3个选项。 基本上,register_脚本为您的脚本指定一个wordpress内部名称,您可以根据其他脚本将其注册为它。例如,您可以说您的social.js取决于要加载的查询文件。


另外,如果您使用wordpress默认主题文件夹并更新WP版本,则默认主题文件夹也会在更新过程中得到更新

如果您使用的子主题是Twenty12,那么您的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_脚本

wp_enqueue_脚本的第一个参数是句柄。文件的唯一名称。html5有点通用,所以我在它前面加了wpse-。第二个参数是路径。请记住,这是一个子主题,JS应该在这里,所以我使用get_样式表_目录_uri而不是get_模板_目录_uri。第三是依赖性。我假设不需要脚本,所以我将它作为一个空白数组。如果您需要jQuery让脚本工作,您应该将“jQuery”放在数组中。我们有版本号。最后一个问题是是否应该在页脚中加载。真=是/假=否


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

谢谢内森给我回复,我已经浏览了互联网,但没有找到足够清晰的答案。您的答案非常有效,可以从我的子主题中获取文件-下面的wpboodles答案也有效,但仅当文件位于父主题中时。我认为这是因为eget_template_目录只从父主题获取文件?获取样式表目录从子主题获取?这是James的重点。get_template_directory_uri将返回父主题的URL,get_stylesheet_directory_uri将返回子主题的URL。无论如何,如果这有助于确保接受和提升投票权:谢谢内森,我需要一个声誉来提升投票权,所以我想我必须帮助一些人在这里做到这一点!