wp_enqueue_script-呈现的页面源代码中的文件路径缺少“ /”

时间:2019-10-26 13:02:35

标签: javascript php wordpress

我正在尝试使用子主题的功能文件中的wp_enqueue_script将javascript添加到wordpress页面的页脚中。

我以前从未做过此事,所以是使用wp_enqueue_script的新手,但是在Stackoverflow论坛上读了一些类似的帖子,但没有找到解决我的问题的方法。 。 。文件源URL在路径的get_theme_file_uri()部分和其余文件夹结构之间缺少“ /”。

我已将此代码插入到功能文件中:

function theme_enqueue_scripts() {
wp_enqueue_script( 'reactionform_js', get_stylesheet_directory_uri() . 'includes/js/reactionform_js.js');
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_scripts' );

但是,当我查看渲染页面上的源代码时,文件路径为<script type='text/javascript' src='https://www.futureproofpromotions.com/wp-content/themes/Avada-Child-Themeincludes/js/reactionform_js.js?ver=5.2.4'></script>,缺少主题的根文件夹Avada-Child-Themeincludes文件夹之间的/?仅供参考,Chrome开发者工具上的错误消息显示:Failed to load resource: the server responded with a status of 404 (Not Found)

我也尝试过get_theme_file_uri()而不是get_stylesheet_directory_uri(),但是没有运气!我也尝试过像这样get_stylesheet_directory_uri() . '/'. 'includes/js/reactionform_js.js'添加正斜杠(/),但也没有运气。

如果有人能解释如何解决此问题,我将不胜感激。

也。 。 。据我了解,我认为我需要在$ scr参数后包含, '' , '', true,以便javascript在页脚而不是页眉中显示。但是,当我包含这些参数时,页面的各个部分都不会加载,因此请忽略掉它们,直到我至少让脚本加载到页面上的某个位置为止。一旦有了,我将添加希望完成任务的参数。

我正在使用: WordPress的:v 5.2.4 Avada主题:v 6.1 PHP版本7.2.23 MySQL版本:5.5.62

非常感谢

菲尔

1 个答案:

答案 0 :(得分:1)

这应该适合您(我的主题中有此配置,并且确实如此),请尝试使用get_template_directory_uri()函数:

wp_enqueue_script( 'reactionform_js', get_template_directory_uri() . '/includes/js/reactionform_js.js', array(), false, true );

最后一个参数(页脚)到true,您可以看到函数签名:

function wp_enqueue_script( $handle, $src = '', $deps = array(), $ver = false, $in_footer = false ) {

希望有帮助!