从子主题加载main.js文件

时间:2018-05-19 作者:Anthony Egboh

我从原来的父主题构建了一个子主题。完成后,了解到构建儿童主题(最好从一开始)是标准的行业实践我成功地将99.9%的主题转换为子主题,但由于某些原因,我无法将一个单独的js文件(main.js)移动到我的子资产文件夹。图像、样式表、字体等。。都已成功转移到子主题,但如果我转移主主题。js文件我的视差滚动(测试)不工作。为了使此功能正常工作,我被迫将此文件保留在其原始父文件夹位置。不太理想。

我尝试了所有可能的组合,包括enqueue、register和wpb\\u adding\\u scripts()函数,但似乎什么都没用。此文件仅在保留在其父主题文件夹中时才起作用。为什么?

注意。主要的js显示为在我的视图页面源上加载,但当文件位于我的子主题中时仍然无法工作…

footer.php

enter image description here

Folder Structure

感谢您的帮助

谢谢

1 个回复
SO网友:DaveLak

在您孩子主题的第18行functions.php 您正在排队main.js 具有get_template_directory_uri(). 该函数将返回到父主题的路径。尝试将其替换为get_stylesheet_directory_uri(), 它将返回子主题根目录的路径。

但我不能怪你没有意识到这一点。这个developer.wordpress.org 的条目get_template_directory_uri() 在细节上是相当稀疏的。这个codex.wordpress.org 的条目get_template_directory 更清楚,而且这两个函数密切相关(前者返回url,后者返回文件系统路径),因此可以推断其中一个函数与另一个函数的作用。

来自codex条目get_template_directory:

检索到当前主题目录的绝对路径(例如:/home/user/public\\u html/wp-content/themes/my\\u-theme)。

如果正在使用子主题,则将返回父主题目录的绝对路径。使用get\\u stylesheet\\u directory()获取子主题目录的绝对路径。


此外,今后请尝试将代码复制并粘贴到问题正文中,而不是截屏;它使我们更容易复制、编辑和回答:)

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c