自己算是写过一个主题,目前也在用( 这里 -> http://udonmai.com/ ),所以多少想说两句。

当初走上web开发的路之后最想干的事情就是写个自己的WP主题。。。所以网上搜罗了很多资料,但是说实在的鲜有那种一下把人点通的教程出现。不是说没有教程就写不了,但是如果能有一个说得清楚的讲解,比起自己摸索实在是省事太多。

当初一开始看的是我爱水煮鱼博客上发布的一个教程 -> WordPress 主题教程:从零开始制作 WordPress 主题,我下了PDF,很容易找。这个教程很老了,但是对于什么都不清楚的人而言至少能给我们以全局的理解,到底开发WP主题是什么意思,是个什么样的过程。这里还有一个国外的教程可供擦考 -> The ThemeShaper WordPress Theme Tutorial: 2nd Edition

看完这个之后心里就算是有个框架和大概了,知道其实就是在主题目录里建一些PHP文件和HTML、CSS以及可能有的JS文件。PHP文件一般而言都是一个文件对应一个页面,比如首页,存档页,日志页等。然后最关键的来了,那就是这些PHP文件内允许我们调用WP提供的函数。函数的文档就如@吴钊说的在这里 -> Template Hierarchy « WordPress Codex。里面有五花八门的函数可供使用,比如一篇博客其内容的输出,谋篇博客它的标签的输出等等。其实也就是数据来源。

我们通过PHP来获取数据,然后整合进HTML,配以一定的CSS和JS修饰,一个主题其实就完成了。但是这样的主题其实并不优美,比如一个文件竟然就是一个页面。通常来讲,写WP主题我们并不追求代码的质量,能用就行(这一定是我的误解)。

似乎一切都很简单?其实并不是这样的,因为每个页面需要调用些什么函数以及函数怎么搭配使用,并不是那么容易理清楚的,毕竟很多功能对应的函数又不唯一,我们无法在短时间内合理地做出选择。

那么这个时候,我个人更倾向于主题开发框架,也可以叫作模板。我也更推荐大家直接用它们来开发。那么先来看看模板啊框架啊都是些什么东西吧 -> 最佳WordPress主题框架

其实这里面还分很多种,我大致把他们分成框架、工具套件以及沙盒。

1.框架
比如这个,Hybrid WordPress Theme,它就是一个全息的开发框架,它的理念在于其自身就是一个主题,而我们所要建的主题是它提供主题的子主题,我们通过PHP的对象继承等特性来从父主题的功能上继承很多基础的东西,然后再在我们自己的文件上做修改以自定义。这种方法显然比较「高级」,也是目前比较流行的一种。

2.工具套件
然后是工具类框架,它们不提供必须的继承,而是给我们封装自己的一套API,把很多功能更直接地暴露给我们使用。这一类我曾经搜到过,不过暂时没有很典型的代表。

3.二次开发,沙盒
最后是沙盒,其实这是我自己起的名字,弄玄乎了。通俗说就是在原有的空白的精简的主题的基础上迭代开发自己的特性,也就是就是修改一个空白主题。我就是用的这种方式,而选择的空白主题也是非常有名的sandbox -> http://www.plaintxt.org/wordpress.html#sandbox, WordPress › Sandbox « Free WordPress Themes。该有的页面它基本都有,该要的数据基本都会有必要的函数负责输出,我们要做的,只是去调整负责每个页面的那个PHP文件,数据多了,那就去掉,少了,去查文档加进来。而且因为有了很多范例页面,我们自定义一个页面也是易如反掌。就像我自己的博客的首页,我就是用原来的一个页面改的。

- - -

再仔细看问题,我发现楼主似乎就框架类没有自己实践过,然后二次开发所基于的简单主题也体验过一些。所以我个人认为你或许可以试试看类似Hybrid的那个框架,它有免费部分以及一定的免费教程(类似的开发框架应该还有不少)。我自己理解的题主的本意就是想了解更多元更全面的开发主体的形式,进而找到最理想的哪一种。那么多尝试总是好的。

但是WP近来功能狂增,代码量和API也增加不少,虽然codex上梳理得比较清楚,但是如果想完全搞清楚所有的细节,我觉得就学习性价比来说是很差的。而且WP的代码众所周知的不是优秀PHP程序的典范。如果是为了学习,我更建议看其他的项目,类似Welcome! - Laravel PHP Framework。而如果是为了开发WP主题来做推广和运营等,那么其实不用太在意过分的细节,看的几个适合迭代开发的空白模板源码即可。

大牛们是如何开发 WordPress 主题的?的更多相关文章

  1. 开发Wordpress主题时没有特色图片的功能

    在自己开发Wordpress主题的时候,发现右下方没有了之前见到的特色图片(Featured Image)功能模块 1.找到后台右上方的显示选项模块,下拉之后启用即可 2.如果以上步骤找不到该选项,那 ...

  2. 开发wordpress主题

    查看我的wordpress站点 第一步:下载wordpress安装包 官网下载==> 第二步:本地安装开发环境 官网给出的环境要求: 可以选择安装wamp/xampp集成PHP开发环境,安装很简 ...

  3. wordpress 主题开发

    https://yusi123.com/3205.html https://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tut ...

  4. WordPress 主题开发:从入门到精通(必读)

    本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...

  5. 推荐5 款WordPress主题后台选项开发框架

    在开发WordPress 主题的时候,借用成熟的WordPress 主题后台选项开发框架可以为我们省下不少功夫.相信你接触过不少国人做的所谓“原创”主题,一看后台都是千篇一律的界面(连CSS 都懒得改 ...

  6. WordPress 主题教程:从零开始制作 WordPress 主题

    为什么要开发WordPress主题? WordPress主题由一系列文件和样式表单组成,这些文件和样式表单共同作用生成WordPress网站的外观.每个主题都不同,用户可以通过这些主题随心所欲地更换自 ...

  7. 黄聪:《跟黄聪学WordPress主题开发》

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  8. WordPress 主题开发 - (三) 开发工具 待翻译

    Before we get started building any WordPress Theme, we’re going to need to get our development tools ...

  9. 决定如何开发你的WordPress主题框架

    在本系列教程的第一部分,我介绍了不同类型的主题框架并解释了它们是如何工作的. 在你开始建立你的主题框架之前,你需要考虑它是如何工作的,以及它将会被用来做什么,这样你才能从一开始就找到最合适的开发途径. ...

随机推荐

  1. Django框架——forms.ModelForm使用

    使用模型创建表单 django提供了这种简便的方式,使用方法如下: 1.在项目的一个app目录中,创建forms.py文件 2.导入模块: from django import forms from ...

  2. java_day09_GUI事件

    第九章:GUI事件 1.AWT事件模型概述 使用AWT或者Swing中的容器.组件和布局管理器就可以构建出图形界面,但是这时候该界面还并不能和用户进行交换,因为图形界面中的组件还没有添加事件监听器,所 ...

  3. 《python解释器源码剖析》第8章--python的字节码与pyc文件

    8.0 序 我们日常会写各种各样的python脚本,在运行的时候只需要输入python xxx.py程序就执行了.那么问题就来了,一个py文件是如何被python变成一系列的机器指令并执行的呢? 8. ...

  4. 使用eclipse根据wsdl生成客户端

    1.在需要生成的java项目右键new →other→ Web Service Client . 2.点击 Next.进入下面的界面,选择Brown...,选择WSDL,然后选择Next 3.Serv ...

  5. 搜索框+ 定时器+Bug解决

    定时器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  6. Makefile 编译静态库文件及链接静态库

    本文为原创文章,转载需指明该文链接 1.代码目录结构如下: comm/ comm/inc/apue.h  3 atexit.c Makefile  5 staticlib/lib/ staticlib ...

  7. 给Eclipse安装MinGW

    @2019-06-30 [小记] 安装完Eclipse后Toolchains只有Cross GCC,下载安装MinGW后添加系统环境变量即可

  8. 分布式之Zookeeper一(分布式锁与Zookeeper集群)

    说到分布式开发,不得不说的就是zookeeper了:zookeeper官网说到Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器.那么zk作为一个协调者的存在,是分 ...

  9. 转载一篇c++开源框架和库

    值得学习的C语言开源项目 -1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性 ...

  10. 2019.9.30 ErrorWidget 的使用

    开发过程中总会碰见页面出现错误的情况,这时候整个页面一片红, 如下 测试阶段出现这样的问题就算了,万一正式环境也出现这个就要不和谐了.所以就有了ErrorWidget.这个是要在最底层设置一下就可以屏 ...