如何创建 WordPress 子主题

已发表: 2020-04-16

您准备好在 WordPress 中创建子主题了吗?

内容
1父主题安装
2如何创建 WordPress 子主题目录
3创建样式表
4制作函数文件
5在 WordPress 中创建子主题的机制
给儿童主题制作者的6条建议
儿童主题中的7 个文件
8如何激活子主题
9如何创建和自定义 WordPress 子主题
10修复子主题和父主题错误
WordPress儿童主题要记住的11件事

父主题安装

你需要决定你喜欢哪个主题。 根据您的偏好,您应该选择要选为父主题的主题。

如何创建 WordPress 子主题目录

在 WordPress 安装的public_html/wp-content/themes 文件夹中创建一个新文件来保存主题。 避免在实时站点中执行此操作。 在登台站点上实施之前,您可以在开发站点中对此进行测试。 通常,保持新文件夹名称以父主题名称开头,后跟后缀是一种很好的做法。

此过程涉及创建两个文件:样式表和函数文件。

创建样式表

创建一个新文件
样式.css
在文件夹内并添加以下代码:
 /*

主题名称:CodeFlist 子主题

主题 URI:https://yourwebsite.com/codeflist-child/

描述:来自父 CodeFlist 主题的子主题

作者:阿马尔·拉吉·马哈托

作者 URI:https://demo.codeflist.com/

模板:CodeFlist

版本:1.0.0

标签:黑色,绿色,白色,浅色,深色,两栏,三栏,左侧栏,右侧栏,固定布局,响应式布局,自定义背景,自定义标题,自定义菜单,编辑器-样式、特色图片、灵活标题、全角模板、微格式、后期格式、rtl 语言支持、置顶帖、主题选项、翻译就绪、可访问性就绪、响应式布局、无限滚动,后滑块,设计,食品,杂志,杂志,新闻,摄影,投资组合,干净,现代,黑暗,优雅,现代,专业,精致

文本域:codeflist-child

*/

此代码告诉 WordPress 有关主题的信息。 由于文本被注释掉,它不会在您的网站上运行任何内容。 每个主题都有这个文件,以便熟悉 WordPress。

此代码中不能跳过具有主题名称模板的行。 模板应包含父主题的目录名称。 它通常也区分大小写。 所有其他字段应按要求编写。 确保使用您最喜欢的编辑器正确执行此操作。

制作函数文件

添加函数文件是将样式表从父主题排入队列的必要步骤。 如果您错过了这一步,那么您的子主题将完全没有样式。 另外,添加文件
函数.php
在新文件夹中。 向其中添加以下代码:
 <?php
add_action('wp_enqueue_scripts','my_theme_enqueue_styles');
功能 my_theme_enqueue_styles() {
wp_enqueue_style('父样式',get_template_directory_uri()。'/style.css');
}
?>

在 WordPress 中创建子主题的机制

他们在文件级别上工作。 当一个函数调用该文件时,它会检查它是否存在。 如果子主题中不存在该文件,它将从父主题加载。 但是,它有一个例外,即主题的函数文件。 如果
函数.php
文件被调用,它是从两个位置加载的。 如果父主题的功能不起作用,您的网站将出现故障。 如果将父主题的功能文件的全部内容复制到子主题,那将是一个解决方案。 这不是扩展主题的好方法。 如果要更改页脚文件,则必须将来自父级的页脚文件复制到子级。 然后处理文件并保存更改。 这适用于您要更改的所有部分。

给儿童主题制作者的建议

你需要知道两者的区别
get_stylesheet_directory()
获取模板目录()
如果您制作自己的主题。 你必须清楚,
获取模板函数
将始终指向父主题目录和
get_stylesheet_ 点
子主题的目录。 选择是你的,无论你是想使用父母还是孩子。

子主题中的文件

至少有两个文件,一个样式表和一个函数文件。 样式表告诉 WordPress 主题的类型。 它还提供了有关父主题的想法。 借助注释掉的文本格式,所有细节都包含在样式表中。

从另一个样式表调用一个样式表是错误的做法。 实际上,您应该将函数文件排入队列。 函数文件中应该有一个将样式表排入队列的函数。

父主题包含一个
索引.php
文件,但在子主题中不需要它。

如何激活子主题

WordPress 使用来自父主题的文件,除非您通过将文件添加到子主题来覆盖。 去
外观>主题
,您将在您站点中已安装的主题中找到该主题。 您需要激活才能享受其功能。 如果您没有添加任何自定义,那么它看起来是一样的。

如何创建和自定义 WordPress 子主题

现在,当您有一个工作主题时,您可以根据您的要求添加自定义。 如果要编辑样式表,则可以在
样式.css
在子主题文件夹中。 您不仅可以编辑模板文件,还可以更新父主题而不会丢失任何自定义。 但是,编写函数可能比添加模板文件更复杂。 如果要添加任何新功能,则需要转到
函数.php
文件。 编写函数后,添加相关操作或过滤器以添加额外功能。

基本上,如果您打算覆盖父主题功能,则有三种方法。

  • 当您有一个可插入的父主题时,您可以在子主题中编写另一个具有相同名称的函数。 因此,将跳过父主题中的功能。
  • 当您有一个可拔出的父主题时,可以取消挂钩以防止从父主题运行功能。
  • 在某些情况下,您可以添加一个新函数以附加到同一个钩子但名称不同。 这是在不覆盖或删除函数的情况下完成的。

修复子主题和父主题错误

在创建子主题后,可能会因为某些功能、样式或其他文件而出现一些问题。 有一系列步骤可以确保一切正确。

  1. 检查子主题是否已激活。 您必须确定父主题的状态。
  2. 清除浏览器缓存和插件创建的缓存。
  3. 在 WordPress 中创建子主题时,检查您是否使用正确的语法正确命名了文件。
  4. 检查您是否已保存更改。
  5. 如果可插拔功能不起作用,请检查是否存在名称不匹配或父主题中的功能是否可插拔。
  6. 检查函数中存在的优先级值和挂钩,以防出现覆盖问题。
  7. 如果问题是从已删除的函数中生成的,请检查优先级值、名称和挂钩。
  8. 通过在调试模式下检查 wp-config.php 文件来查找代码中哪里和哪里有错误。
  9. 必须验证不同元素的输出代码。

WordPress儿童主题要记住的事情

  1. 子主题中应该有一个样式表和一个函数文件。
  2. 请勿在未创建子主题的情况下直接编辑第三方主题。 这将保护所做的定制。
  3. 激活主题,不要删除父主题。
  4. 当有两个同名文件时,WordPress 将使用子文件中的文件。
  5. 要覆盖父主题中的可插入函数,您必须在子主题中创建具有相同名称的函数。
  6. 使用remove_action()remove_filter()函数,您可以从父主题中解开函数。
  7. 当您使用相同的钩子创建函数时,您可以扩充父主题函数。

包起来

在 WordPress 中创建子主题时应牢记这些事项,您可以获得最大的优势。 希望这篇文章能消除您对孩子和父母主题的疑虑。

附加读物

WordPress 获取帖子 ID
WordPress中的帖子与页面
什么是 WordPress 儿童主题
如何在 WordPress 中删除主题
如何在 WordPress 中添加类别
如何在WordPress中更改密码