导语:学习WordPress开发似乎是一件令人望而生畏的事情,但归根结底,这一切都取决于入门。所以我们准备了这个免费的系列来帮助您正确地开始新的一年。在五周的时间里,您将学习PHP,并从头开始编写您自己的主题和插件。
这是我们面向初学者的五篇系列文章中的第一篇,向您传授WordPress开发的基本概念,以便您可以从修补人员跳到开发人员。
注意:对于本系列,重要的是您已经彻底了解了HTML和CSS,因为这两种语言在使用WordPress时都是必不可少的构建块。
我们开始吧。
错过了我们面向初学者的WordPress开发系列教程?你可以在这里找到全部五篇文章:
- 面向初学者的WordPress开发:入门
- 面向初学者的WordPress开发:学习PHP
- 面向初学者的WordPress开发:构建主题
- 面向初学者的WordPress开发:小工具和菜单
- 面向初学者的WordPress开发:构建插件
WordPress的工作原理
为了理解我们可以为WordPress开发什么以及如何开发,我们将首先快速了解一下WordPress是如何工作的。
它有三个主要组件:核心、主题和插件。
核心代码包含组成WordPress内容管理系统的所有默认功能。这包括从管理后端到安排帖子、密码强度检查、允许创建用户等功能。
核心负责网站的后端和如何运作,而主题负责前端和网站的外观。我们使用wordpress管理员来创建帖子、页面和其他站点内容,但是我们的帖子和页面到底如何显示给访问者取决于主题。这给了你相当大的权力来管理你的网站。您可能想要安装并激活预先构建的主题,或者完全打破框框,使用自定义设计走自己的路。
描述插件的最简单方式是它们为WordPress提供了额外的功能。为了实现这一点,插件可以修改网站的后端和/或前端。为Twitter添加Tweet按钮的插件就是一个很好的例子。它可能会在后端管理菜单中创建一个新的设置页面,在那里你可以为用户的tweet设置一些默认选项,它还会将自己添加到网站的前端,最有可能显示在帖子下面。
发展范畴
就WordPress开发而言,除了独立的应用程序外,您还可以在新的rest API的帮助下开发上面三个主要组件中的任何一个,稍后将对此进行更多介绍。
不管你想用WordPress做什么,我都建议你在学习中遵循一条既定的道路。下面的列表将帮助您在了解有关您选择的领域的更多信息之前,先熟悉您需要了解的系统:
- 主题
- 插件
- RESTAPI
- 核心
- 主题
了解主题如何工作以及如何开发主题将使您能够创建网站、制作单页网站、内容丰富的动态网站,以及介于两者之间的一切。它还可以让你获得更好/更多的客户工作(如果这是你感兴趣的),甚至进入主题销售业务。
在ThemeForest和Mojo Marketplace等市场上,有许多成功的主题作者。
在写这篇文章的时候,ThemeForest上最受欢迎的主题上周卖出了1377个–仅仅一周就卖出了81000多美元!如果你能开发出完美的主题,那是一大笔钱。
虽然不是所有的主题开发人员都能赚那么多钱,你也不会一夜之间成为构建主题的百万富翁,但如果你做对了,你仍然可以靠主题谋生。
如果你想看一些很棒的主题例子,看看我上面提到的市场,或者去WordPress主题目录看看,那里一切都是免费的。许多首次使用主题开发人员也会将他们的工作发布到该目录。
插件
在某种程度上,插件是WordPress的命脉,只需按一下按钮,就能将其转变为从论坛到社交网络、电子商务平台等一切东西。插件可以让你完全控制WordPress系统的所有方面,允许你修改任何你想要的东西。这对为客户制作WordPress白标有很大的帮助,增加了你一直需要的一个小功能:让WordPress成为你自己的。
插件市场也存在,并且通常归一些同样经营主题市场的公司所有。到目前为止,CodeCanyon是最大的,有4000多个插件可供购买。销售额往往低于主题,但如果你找到了合适的利基市场,它仍然可以非常有利可图。
WordPress还有一个免费的插件目录,里面有超过4万个插件。它是工具、灵感和优秀代码(遗憾的是也有糟糕的代码)示例的极好来源。
RESTAPI
当您掌握了主题和插件开发之后,就可以使用rest API了,不过理论上,如果您非常熟悉另一种语言(如Java或Ruby),就可以使用它。
rest API相对较新,允许您基于WordPress创建真正的应用程序。这包括iPhone和Android应用程序,以及各种疯狂的东西,比如电视应用程序,如果你知道一些其他编程语言的话。
解释这一功能的最好方法是将其与Twitter或Instagram之类的东西进行比较。毫无疑问,你已经看到某人的Twitter feed显示在他们的网站上。要将此功能添加到您自己的站点,您不需要知道Twitter的核心代码是如何工作的,您只需要一些代码就可以了:请检索我最近的五条tweet。Twitter处理实际的检索,返回您要求的五条tweet的数据。然后,您可以使用HTML和CSS来显示该数据。
这正是rest API为WordPress做的事情。你可以连接到任何网站,向它索要你最近的五篇帖子。但您可以做的远不止这些:您可以删除用户、创建用户、编辑类别等(当然,您需要对自己进行身份验证)。这意味着您可以将WordPress用作信息存储库,并使用完全不同的系统构建前端和/或后端。
核心
WordPress是由世界各地数千名志愿者组成的社区开发的。总共有471人参与了WordPress 4.4的工作,还有更多的人从事WordPress的其他方面的工作,从翻译和移动应用程序到可访问性和支持。
事实上,你现在就可以参与进来。虽然你需要相当丰富的经验才能将代码贡献给wordpress核心,但你可以开始使用wordpress trac在任何时候识别错误、验证它们并提交想法,这是跟随wordpress核心代码开发的地方。
如果您发现了一个bug,您实际上可以附加消除它的代码。经过相当多的审查和审查之后,如果一切都通过了,您的代码就会被使用。这是参与为核心发展做出贡献的最佳方式。
WordPress开发:您需要了解的内容
要开始使用WordPress开发,您需要熟悉一组定义良好的工具。然而,对于任何优秀的开发人员来说,学习的过程永远不会结束。我将在这里为您介绍入门捆绑包,我还将介绍一些更高级的工具,随着您了解更多,您最终可能会遇到这些工具。
您需要熟悉的绝对最低要求是:HTML、CSS和PHP。除了这些语言之外,您最终还会想要学习JavaScript和MySQL。当您很好地掌握了这些语言之后,您就可以转向Less/Sass、Coffeescript、XML、JSON等。这些语言对WordPress开发来说都不是必不可少的,但是了解它们会开阔你的视野和/或让你的开发生活变得容易得多。
HTML和CSS
您应该学习的前两种语言是HTML和CSS。无论您编写什么代码,无论您使用什么语言,最终都会归结为向用户发送网页时的HTML,并且很可能是某个CSS样式的页面。
HTML负责提供网站结构。在基本级别上,这意味着您将决定什么文本应该是标题,什么应该是列表,侧边栏中有什么,页眉和页脚中有什么。在更深的层面上,您实际上正在做出重要的SEO和优化决策。不过,现在不必担心这一点,因为掌握语法是最重要的。
CSS用于将样式应用于HTML结构。您将使用CSS代码定义文本的颜色、链接、段落之间的间距、图像对齐、边框颜色、浮动属性、边框粗细和其他元素。CSS非常容易学习,但很难掌握。
Web开发网站W3School提供了关于如何使用HTML和CSS的精彩教程。
PHP
PHP是一种非常流行的服务器端脚本语言,根据网络技术调查服务W3Techs的数据,81.6%的已知语言的网站都在使用PHP。PHP是WordPress(和大多数其他内容管理系统)所基于的语言,因此,全面了解PHP对于WordPress开发至关重要。
仅仅通过了解PHP,您将获得的不仅仅是为WordPress编码的知识。学习任何服务器端语言都会让您深入了解编程是如何工作的,它会赋予您一种特殊的逻辑,您可以使用这种逻辑来解决各种在线和离线问题。
服务器端语言与客户端语言(如HTML)的不同之处在于,它首先在服务器上处理。在HTML中,您可以为Good Morning编写代码,然后HTML将按原样发送到浏览器,您的访问者将在其中看到“Good Morning”显示。
在服务器端语言中,您可以为Good[time_of_day]编写代码。在将该命令发送给用户之前,服务器会对其进行处理,并找出用什么来代替[time_of_day]。根据您访问网站的时间不同,您可能会看到“你好”或“晚上好”。请注意,您的浏览器接收的数据仍然是普通的旧HTML格式,但是它事先已经在服务器上进行了处理。另外,请注意,上面的代码不是实际的PHP代码,它只是一个向您展示逻辑的示例。
W3School还提供了一个非常棒的PHP教程。我们将在本系列的第二篇教程中介绍PHP编程的基础知识,但是要熟练掌握您的技能还是值得的。
与所有编程语言一样,实践将使您深入理解并帮助您变得更好。你可以在几天内学会几乎所有的PHP,但你仍然不知道你在做什么-你需要尝试一些东西,搞砸,不知道发生了什么。总体而言,坚持下去!正如他们所说,熟能生巧。
JavaScript
JavaScript在网络上的作用越来越大,尤其是基于JavaScript的工具如Node和ANGLE的涌现。
JavaScript通常用于向网站添加动态功能和异步加载。
让我给你们举一个两者都有的例子。
如果您希望表单完全隐藏,但当用户单击按钮时在lightbox中淡入,您可以使用JavaScript,因为它可以处理动画,也许还有其他功能,比如在发送表单之前检查表单填写是否正确。
异步加载是通过一种称为Ajax的机制完成的。Ajax可用于从服务器检索信息,然后在不重新加载页面的情况下显示信息。一个很好的例子是无限滚动,其中加载了前10个帖子,当您接近页面底部时,检索下10个帖子并将其附加到当前集合中。
去年11月,Automattic推出了Calypso,这是一款桌面应用程序,允许用户管理WordPress.com和支持Jetpack的网站。Calypso完全用JavaScript编写,并利用了Node和Reaction等库,标志着可能会改变WordPress对PHP的依赖。因此,WordPress的联合创始人鼓励开发者“深入学习JavaScript”。
同样,学习JavaScript的一个好地方是W3School。我们不会在这个初学者系列中探索Javascript,但它值得学习,因为了解这门语言在未来几年将成为WordPress开发人员的必备知识。
许多开发人员首先通过非常流行的jQuery框架学习JavaScript。它在WordPress和网络上的数百万个项目中被广泛使用。虽然这很好,但请记住,JavaScript不仅仅是jQuery,而且学习JavaScript本身也是一个好主意。
Mysql
MySQL是一种用于访问和处理数据库中数据的语言。WordPress大量使用它来检索所有数据,但作为开发人员,您不会太需要它,因为WordPress有自己的一组助手函数。在某些特殊情况下,您可能需要编写自己的数据库查询,或者希望为自己的站点优化一些内容,因此了解MySQL的基础知识会很有帮助。
使用数据库非常简单。数据库中的表与Microsoft Excel电子表格非常相似。每列都有一个标题,数据存储在行中。MySQL用于添加、删除、修改和检索数据。您可能希望编写一个MySQL查询,该查询返回所有包含“AWOWE”一词并且评论超过8条的帖子。您可能还想查找名为“Daniel”的所有用户。例如,您还可以使用MySQL计算所有广告浏览量的总和,或者查找您的网络中最受欢迎的广告。
同样,用WordPress编写原始MySQL代码的情况很少,但确实会发生这种情况,了解该语言是如何工作的通常会帮助您编写更好的代码。前往W3School学习他们的SQL教程。
先进工具
一旦您至少熟悉了三种基本语言-HTML、CSS和PHP-您就可以开始探索各种帮助器工具了。人们倾向于学到的第一件事就是少和/或粗鲁。两者都是CSS的超集,这意味着所有有效的CSS代码都是有效的Sass代码。这两种语言都增加了在CSS中使用变量、函数和其他结构的能力,这在默认情况下是不可能的。
构建工具也是您在某个时候想要探索的东西。最好的是Gulp和Grunt。它们可以监视文件的更改,并在满足要求时运行各种任务。例如,每当您更改sass文件时,您都可以自动将其编译为CSS并将其保存为特定文件。使用这些工具可以优化图像、连接文件、下载外部包以及各种其他方便的任务。
命令行或终端也是您应该查看的内容。是的,使用命令行看起来很可怕,但实际上并不可怕–只需键入几个命令就可以节省大量时间。一个简单的脚本和一个名为WP-CLI的工具可以在几秒钟内安装WordPress,包括安装主题、插件和测试内容,而手动安装则需要更长的时间和更多的努力。
版本控制是另一个非常有用的工具,在您尝试它之前,您并不知道您需要它。它最初是为在团队中处理相同的代码而设计的,但可以用作同时管理项目、bug和备份的解决方案。SVN和Git是最受欢迎的竞争者。Git和我一起赢得了这一轮,因为它的工作流和Github略好一些,Github提供了基于Web的Git存储库托管服务。
WordPress是一种入门良药
WordPress的伟大之处在于它可以成为学习其他网络开发技能和语言的门户。
我个人有过这样的经历,先是学习了面向对象的PHP,然后进入了Laravel、构建工具、Less/Sass、命令行工具等外围领域。我还用C#和其他语言冒险进入了本机应用程序领域。
一旦你了解了每件事的工作原理,当你创建新的、更大的项目时,你会学到越来越多,一切都会变得更容易。在面向对象的PHP之后,学习C#并不费力,因为您的大脑已经习惯了它的逻辑。这类似于在弹完吉他后学习弹奏四弦琴,或者一旦你练习了驾驶汽车就会学习驾驶卡车。有很多不同之处,但一旦你把基本的东西固定下来,向前迈进就不是什么大的飞跃了。
继续阅读和学习
现在您知道了开始WordPress开发需要什么,您可能会感到不知所措,但别担心,这就是每个人在这一点上的感受!
我再怎么强调也不为之气馁是多么重要。所有的编码者都必须从某个地方开始。大多数人在开始编写代码时都很糟糕,难以理解概念,并且变得沮丧。但正是那些奋力拼搏、不放弃的人,总是督促自己学习谁成功了-正是这种决心将优秀的程序员与糟糕的程序员区分开来。
下周回到这里,学习我们系列的第二部分,面向初学者的WordPress开发:学习PHP。
但与此同时,在此之前,你需要做的是:
复习一下您的HTML和CSS知识。正如我在上面提到的,W3School是学习HTML和CSS的绝佳资源。如果您想要更实际的方法,Codecademy为初学者提供了一门很棒的HTML和CSS课程,其中包含许多实际示例。
在您的计算机上设置本地主机环境。在本地主机上使用WordPress不仅安装速度更快,而且更安全。如果你不确定如何在你的机器上设置WordPress,请查看我们关于如何在Windows上设置它,以及如何在Mac上设置它的帖子。
下载一个好的文本编辑器。我使用的是Atom,它有一个很棒的功能集。我将在整个系列中使用它,但是您使用什么并不重要,只要您习惯使用它即可。你觉得这个教程有帮助吗?你为什么想学习WordPress开发?你想了解更多关于什么的信息?在下面的评论中让我们知道。