找了一个12年前的制作Wordpress主题的网上教程,接下去要学习怎样从静态网页制作一个wp主题,之前都是瞎猫式的碰运气调数值,不够用了。
在本地电脑上安装了数据库和wordpress站,测试起来比在网上改方便。本地数据库程序用的是xampp。
教程作者叫露兜,网站:露兜即刻
2022.12.7 更新:
跟着教程学会了看主题包的结构,一个主题必不可缺的有两个文件:index.php或home.php(home优先于index),style.css,少了第一个文件wordpress不会认这是一个主题,少了第二个文件wp会认但无法启用。
下载的范例压缩包里原来是一个最简单结构的主题的原始文件,主题名字叫Arelius,文件夹里包含了一个主题最基本的几个html和样式表文件:
- index,
- single——就是post单帖,
- page——就是单页,
- archive,
- contact,
- style.css
应该也是和以前做静态页面一样,先用psd之类的设计软件设计了页面最终的效果,再用fireworks之类的软件切片成网页,不过这个范例很清爽简单,没什么复杂的构图,很可能是直接css和html写出来的。
看了下index.html就是未来主题做出来后主页的样子:头部head有站点标题、描述、导航横条,主体部main左侧为主页面,列了三个带题图的标准帖长方块,每块之间有浅横线分隔,三个帖子块下方就是前翻页后翻页的导航;右侧是窄窄的侧栏,列了分类、月份归档两列表;底部footer就是很扁的一条,有版权信息和回到顶部按钮。非常简洁但完整的主页结构。
查了主页的code,就是普通的html写法,标题用h3,正文是p,列表是li,好简单呀,用来学习再合适不过了。
2022.12.16 更新:
到第四篇为止都是在学基本的东西,每篇要学的功课很少,很容易掌握。今天学会了怎样新建一个主题,给这个主题设置预览图和信息。
新建一个主题只需要在themes下新建相应名称的文件夹,放进index.html和style.css,把index.html后缀名改成php,index.php,后台就会识别它为一个新主题。
预览图需要自制一张300 x 225大小的screenshot.png,放在同一个文件夹里,就会被识别为预览图。我随便截了一张好看的爱琴海,刷新后台果然主题栏里就出现了。
给新主题设置信息也很简单,在style.css文件的最前面修改这些内容就行,主题预览时会显示出来:
/*
Theme Name: 主题名字
Theme URI: 主题所属网址,没有就填博客网址
Description: 主题简介
Version: 版本号
Author: 作者名
Author URI: 作者的网址
Tags: 标签,多个用半角逗号隔开
*/
/* … */ 以内所有内容都是注释。
后台预览出来就是这样:
2022.12.18 更新:
第五篇开始学习关键内容:如何制作公用的头部页面header.php。上一篇里虽然index改后缀名成为php文件,被Wordpress 认可,但里面的内容仍是原来的html,这时启用主题,网站版面是一片混乱。今天就学会了怎样一部分一部分地把html内容替换为php内容。
也就看懂了wordpress的页面结构是怎样一个机制,之前完全看不懂,为啥对主页或文章或页面html进行inspect出来的内容和安装进去的index、single、page这些php里的内容完全不一样。原来这就是它和静态页面的本质区别,这些html都是php在各种调用后才生成的成品html,每个页面里的头部站点信息、菜单、题图、标题、文章信息、内容、前后页导航、侧边栏、底部版权信息这些全部都是调用出来的,而我inspect单独页面看到的就是调用后生成的结果。
明白了这个机制后一下子就好像打通了任督二脉啦🤣虽然还没学下去但已经能预见到后面一步步要学什么啦🤣🤣🤣
今天最重要的一步就是新建header.php。这在原始文件里是没有的,包括后面要学的footer.php、sidebar.php也一样要新建。这个文件里的代码其实就是原始文件所有html(现已全部改后缀名为php)文件里都相同的头部代码,也就是把这些index、single、page、archive等文件开头部分所有相同的代码剪出来,拷进header.php,然后在这些index等php里剪去的地方,替换成这句:
<?php get_header(); ?>
这些php页面就可以调用header.php了,调用之后生成的页面和原先有头部代码的页面完全一样。index等页面的静态代码替换工作的第一部分就完成了。
接下来就按教程一步步替换拷贝进header.php里的静态代码内容,包括站点名称、描述、菜单导航这些原先用静态代码写成的都要替换成能动态调用的代码,这样以后只要在wp后台输入相应信息它就会在页面上调用显示出来。
具体步骤有:改title,改style.css路径,添加pingback,改站点名称和描述,添加订阅feed,添加wp_head,添加网页描述和关键字,显示菜单导航,添加刷新缓存。
以上步骤教程都提供了详细代码,于是就一步步无脑拷贝了。值得记录的有两点:改style.css路径和添加wp_head,分别如下:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<?php wp_head(); ?>
后者和先前的get_header长得挺像但作用完全不同,这句添加后,页面最顶端就出现了一条空白长带,本应是登入站点之后的那条wp工具条,但工具条本身没有出现而只有空白长带,试了几次都一样,一头雾水。直到看了底下的评论才知道,原来还得增加一句对应的代码<?php wp_footer(); >
,两者一起用才能让工具条出现,但这句代码是写在未来的footer.php里的,所以这一章就没讲🤣