成为专业 WordPress 开发人员所需的一切
成为熟练的开发人员的道路是漫长的,而且实际上是无止境的。新的框架和网络技术让开发人员保持警惕,每年都在努力学习更多。WordPress 很可能是有史以来最受欢迎的 PHP CMS,它为几乎 20%的自托管网站提供支持。
如果您从事 PHP 开发,这是一个值得学习和掌握的系统。但是你是怎么做到的呢?
在这篇文章中,我将概述每个开发人员都应该了解的 WordPress 最重要的领域。它可能有助于创建您自己的结构化WordPress 学习课程,您可以在其中一次学习特定领域数周或数月。这将有助于保持您的注意力并让您以极快的速度浏览 WordPress。
现代 WordPress 主题
如果您是 WordPress 的新手,那么在深入了解细节之前首先了解仪表板是值得的。
但是,我假设阅读本文的任何人都已经了解使用 WordPress 的基本知识,并且真的只是想了解如何编写代码以构建在 WordPress 平台之上。
也就是说,我相信主题是最好的起点。是的,插件很棒,自定义功能非常有用。但是主题化是每个 WordPress 站点的要求。无论您是从头开始编写新主题还是自定义现有主题,您都非常希望熟悉 WordPress 的主题系统。
主题唯一需要的文件是style.css样式表和主要的index.php。WordPress 主题通过条件文件工作,因此如果您的主页没有 homepage.php,则 WordPress 默认为 index.php。同样,如果您的主题没有作者存档页面的author.php ,您可以只使用archive.php。
一旦您了解了层次结构,WordPress 主题就很聪明并且很容易上手。以下是我认为每个 WordPress 主题中应该包含的最少基本文件的列表:
- style.css – 带有主题信息的主题官方样式表
- index.php – 没有唯一主题文件的任何东西的最终回退页面
- home.php – 您博客的主页,无论是静态的还是归档内容
- single.php – 单个帖子/文章布局
- page.php——单页布局
- archive.php – 用作类别、标签、作者和日期等档案的包罗万象
- 404.php——默认的404错误页面布局
请注意,高级主题应包括更具体的文件,以帮助定义更好的内容和页面布局设计。
要了解更多信息,请查看WordPress 官方文档中的模板文件列表。WP 还提供了一个方便的图表来解释主题文件层次结构的运作方式:
每个主题通常作为独立实体开发,可以提供依赖于主题的插件和功能。所有主题都是用 PHP 编写的,因此可以包含一个像函数库一样运行的主题文件,从而将功能限制在单个主题中。
或者,子主题可以很好地构建在现有主题之上。这是一个有点高级的话题,并不是每个人都喜欢子主题的想法,因为它们可以很快变得非常复杂。
我认为至少值得了解它们的运作方式并自行决定子主题是否适合某个项目。
基本插件开发
WordPress 开发的两个最大方面是主题和插件。由于主题会影响站点的布局和界面,因此这应该是您的第一个研究领域。自然而然的后续行动将是深入研究插件开发。
构建 WordPress 插件很困难,但如果你练习的话很容易学会。网上有足够的资料,不应再将其视为一个障碍。
值得注意的是,可用的免费插件如此之多,以至于无需编写自己的插件就可以使用免费的第三方插件构建 WordPress 网站。但是,熟练的 WordPress 开发人员至少应该了解插件的功能以及如何在需要时编写插件。
阅读更多:安装 WordPress 插件前要问的 5 个问题
您应该了解的两个非常重要的术语是filters和actions。他们都接受一些代码并输出/返回一些东西,但做法不同。
过滤器旨在返回代码,如 HTML 字符串或新更新的变量。操作将代码直接返回(或输出)到 WordPress 主题、插件甚至 WordPress 核心中预定义的钩子中
查看此 Stack 线程以了解更多信息。
这些不同的方法具有相互反映的功能。例如add_action()和add_filter()分别对动作和过滤器表现相似。do_action()和apply_filters()也是如此。
阅读更多:如何在主题定制中使用 WordPress Action Hooks
插件开发需要大量的阅读和练习。一路上您会感到困惑,但这是学习曲线的一部分。
我强烈推荐这个 Tuts+指南,它涵盖了操作和过滤器的基础知识。WP Engineer 也有一篇关于定义你自己的钩子的好文章,它深入研究了构建可以用代码扩展的功能齐全的主题/插件的过程。
开发内部功能
WordPress 通过所有开发人员都可以访问的内部类和 API 提供了一些替代功能。有些相当高级,如重写 API或REST API,但新开发人员应考虑从更基本的功能开始:
函数.php 文件
每个人对functions.php文件都有自己的看法。我个人是一个忠实粉丝。此文件存储特定于主题的功能和设置,这些功能和设置定义了主题如何通过简码、挂钩和过滤器进行操作。
您的主题的函数文件甚至可以包含您从其他主题文件中调用的自定义 PHP 函数。一些开发人员认为这是一种不好的做法,但这是将特定主题的功能组织到一个库中的最佳方式。
查看此免费片段列表,了解主题的 functions.php 文件的可能性。
简码
短代码在 PHP 中定义,但可以直接添加到内容中。这些通常在 WordPress 帖子/页面编辑器中用方括号表示,类似于构建图片库。
查看短代码文档以查看更多示例并了解它们的操作方式。
阅读更多:如何创建自己的 WordPress 简码
自定义帖子类型
在 WordPress 3.0 之前只有几种默认的帖子类型:附件、帖子和页面。这些通常绰绰有余,它们适用于大多数 WordPress 网站。
但是 CPT 的添加允许开发人员创建新的类型,如时事通讯、电子商务产品和用户提交的内容。
除了默认标签和类别之外,这些自定义帖子类型还可以拥有自己的自定义分类法。CPT 可以通过插件或在主题的 functions.php 中定义。一旦您了解了它们的工作原理以及如何编写自己的代码,就会有很大的灵活性。
自定义字段
在开始使用自定义字段之前,很少有开发人员完全理解自定义字段的强大功能。当您在管理面板中撰写新帖子时,您会注意到用于添加标签、类别、特色图片等的不同小部件。
可以定义自定义字段以将更多小部件添加到页面上以获取额外内容,称为元数据。流行的 SEO 插件 Yoast 通过在帖子/页面部分添加自己的自定义字段来更新标题/元内容来做到这一点。
可以添加一个字段来存储任何类型的元数据,无论是多张特色图片还是替代作者简介。一旦您学会了如何构建自定义字段并充分利用信息,这些功能将是无限的。
高级 WordPress 开发及其他
我已经涵盖的内容可能需要几年的时间才能掌握并完全应用于他们的工作流程。WordPress 入门容易但精通难。
除了主题/插件开发的概念之外,您还可以尝试将特定的 WordPress API 合并到您的学习列表中。这些主题确实适用于想要了解 WordPress 提供的所有内容的高级开发人员。
以下是一些帮助您入门的想法:
- 设置 API – 定义自定义设置页面和输入字段
- Options API——存储数据库内容的标准方法
- 重写 API – 重写 URL 并制作您自己的自定义 WordPress 永久链接
- Transients API——用于在数据库缓存中存储临时数据
- WP_Query – 用于编写自定义数据库查询的类
- Walker——一个管理树状数据结构的类,例如页面层次结构
请记住,学习是一个永不停止的过程。要成为熟练的开发人员,您需要坚持不懈的努力和对行业的热情。
如果您将这些主题加入书签并定期练习,我保证您会学到很多东西,并发现自己跻身于许多其他专业 WordPress 开发人员的行列。