我正在尝试使用子主题的功能文件中的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-Theme
和includes
文件夹之间的/?仅供参考,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
非常感谢
菲尔
答案 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 ) {
希望有帮助!