【问题标题】:Wordpress Child Theme PathWordpress 子主题路径
【发布时间】:2015-02-11 21:06:36
【问题描述】:

我正在开发我的第一个子主题,但我对目录和子主题感到很困惑。

我不会使用我的真实网站,但我在我的 cPanel 中创建了一个目录,专门用于处理我的主题,该目录位于 www.wp.example.com

让我们调用模板 testTemplate。我按照 Wordpress 法典制作了一个名为 testTemplate-child 的子模板,这意味着我在子主题的 function.php 中注册了父主题。

因此 wp.example.com 从父主题和所需的子主题加载样式。它不加载的是我在子主题的functions.php文件中排队的javascript文件。

令人困惑的部分是,如果我导航到 www.wp.example.com/testTemplate-child/,我的 javascript 会加载并运行。

我想知道是否有人可以帮我解决这个问题,为什么我孩子的 function.php 只能在 wp.example.com/testTemplate-child 中使用。

【问题讨论】:

  • 服务器上是否存在公共的html /testTemplate-child 目录?它有完整的 WordPress 安装或类似的东西吗?
  • 你有JS错误吗?
  • @TaylorCampbell 父子主题都在:public_html/wp/wp-content/themes/
  • @Skatox 完全没有错误,在 wp.example.com 中根本没有加载 javascript
  • 我的回答有效吗?如果有效,请选择它。

标签: php wordpress


【解决方案1】:

这是因为你的孩子的主题function.php是在父母的function.php之前添加的,这就是为什么你不能覆盖一些选项,还要记住你需要调用get_stylesheet_directory()获取孩子的主题路径,因为如果您执行另一个功能,它将加载父母的路径。

加载位于 /js 文件夹中的 javascript 文件的示例:

$jsPath = get_stylesheet_directory() . '/js/yourScript.js';
wp_enqueue_script( 'child-js', $jsPath, array(), '1.0', true ) 

更多信息请访问:https://codex.wordpress.org/Child_Themes

【讨论】:

  • 我现在明白了,但我在子主题中所做的只是添加一个函数来加载几个脚本,然后使用 addaction 添加它们。我需要把它放在父主题中吗?
  • 将它添加到父主题的问题是,在任何更新中,您都会覆盖任何更改。您可以使用 depedencie 选项(我的回答中的 array() )控制加载顺序。我没有使用 addaction。
猜你喜欢
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 2018-04-16
  • 2017-03-04
  • 2016-02-19
相关资源
最近更新 更多