WEB技术/主题分享

自学WordPress主题制作全过程(二):HTML静态模板制作

yyhouse · 5月7日 · 2019年

[v_notice]制作WordPress需要了解PHP,但是不管怎样,你的博客页面都是一张网页,网页之所以能够在浏览器中显示出来,是因为最终传送给浏览器的是HTML、CSS和JS等终端代码,最终由这些代码控制浏览器的显示结果。制作WordPress主题也不例外,它们都是网页,网页最基本的是HTML。要想制作WordPress主题,首先得设计主题界面,含蓄、简约、厚重、奔放……,风格完全随你,接着再将你的设计理念转化为.html,并能在浏览器中正常显示出来。[/v_notice]
首页:index.html
存档页:archive.html
页面:page.html
文章页:single.html
联系页:contact.html
无边栏页:full_width.html
图片:/images/
样式表:style.css
缩略图:screenshot.png
一个WordPress主题至少包含以下两个文件:
style.css
index.php
现在就开始我们的WordPress主题制作。在你的WordPress目录 wp-content\themes\ 下新建一个文件夹,命名为Aurelius,将前文:WordPress主题制作全过程(三):HTML静态模板制作 中下载到的style.css和index.html放到该目录下,再将index.html重命名为index.php,这样wp-content\themes\Aurelius目录下就有下面两个文件:
style.css
index.php
登陆你的WordPress博客管理后台 – 外观,里面是不是多了一个主题”Aurelius”呢?
启用该主题,打开你的博客主页,OH,页面一片混乱?怎么搞的?先继续看下文。你可能会很好奇,这个主题的名称可不以改成我要的名字呢、主题作者能不能改成我的名字呢、为什么主题没有小图片预览,下面就教你怎样更改这些”主题信息”。用文本编辑器打开Aurelius目录下的style.css,你可以按照下面的说明尝试在 style.css 文件最前面修改以下信息,再到WordPress管理后台”外观”栏目下,刷新一下看看有什么变化:

/*
Theme Name: 这里填主题名称
Theme URI: 这里填主题介绍的网址,没有就填你的博客网址吧
Description: 这里填主题的简短介绍
Version: 版本号
Author: 作者名
Author URI: 作者的网址
Tags: 标签,多个用半角逗号隔开
*/

将前文 WordPress主题制作全过程(三):HTML静态模板制作 下载到的screenshot.png放到Aurelius目录下,再到WordPress管理后台”外观”栏目下,看看有什么变化,是不是多了个预览图呢?主题制作完毕后,你可以给你的主题界面截个图,命名为screenshot.png,大小300 * 225,放置到主题目录下作为主题缩略图。

制作header.php

你可以尝试用文本编辑器打开从WordPress主题制作全过程(三):HTML静态模板制作下载到的 .html 文件,不知道你有没有发现他们头部的代码都非常的相似呢?其实我们可以提取这部分相似的代码,放到一个单独的文件header.php中,各个页面想用这部分代码的时候再用php的include()或者WordPress的get_header()包含进去,省的每个页面里面都要写这部分代码,更改起来也可以达到一改全改的目的。
接着我们上次创建的主题目录wp-content\themes\Aurelius,在该目录下新建一个php文件header.php,我们提取出index.php中的头部代码复制粘贴到header.php中,下面的代码就是目前header.php中的所有代码了(当然不同主题的头部代码都是不一样,在你实际的项目中可以自定决定):





Aurelius | Blog




Aurelius

Our blog, keeping you up-to-date on our latest news.

再用文本编辑器打开index.php、archive.php、contact.php、full_width.php、page.php和single.php,删掉以上类似代码,改成


现在打开你的测试博客主页,看看我们制作的主题是否还可以正常工作,答案是可以的,跟原来几乎没什么两样,但还是一片混乱。get_header()就相当于将header.php中的代码拷贝到当前的php文件。接下来,我们将仔细探讨header.php中的动态内容。header.php将会被所有的模板页面(主页、分类页、页面、标签页等)所包含,所以header.php中代码应该是动态,适合不同页面的,所以这里面需要用到PHP代码,而不是单纯的HTML。下面让我们一起来修改header.php

更改标题

我们都知道不同页面的title都是不一样,而且title的设置还会直接影响到SEO的效果,所以这里应该谨慎设置。下面提供一种SEO优化的title写法,将Aurelius | Blog改成:

<?php if ( is_home() ) {
		bloginfo('name'); echo " - "; bloginfo('description');
	} elseif ( is_category() ) {
		single_cat_title(); echo " - "; bloginfo('name');
	} elseif (is_single() || is_page() ) {
		single_post_title();
	} elseif (is_search() ) {
		echo "搜索结果"; echo " - "; bloginfo('name');
	} elseif (is_404() ) {
		echo '页面未找到!';
	} else {
		wp_title('',true);
	} ?>

以上添加的php代码运用了条件判断,针对不同的页面采用不同title,这里解释一下这几个条件标签。
is_home():当前页面为主页时返回true
is_category():当前页面为分类页时返回true
is_single():当前页面为单文章页时返回true
is_page():当前页面为单页面时返回true
更详细的内容参阅WordPress文档:条件标签

更改样式表style.css路径

在此之前你看到的首页都是混乱的,原因是还没加载css样式。现在我们一起把样式加上。你可以在header.php中找到这一段代码:


你可能问:wp-content\themes\Aurelius目录下不是已经有一个 style.css 吗?那为什么 header.php 没有加载css呢?结果你是可以看到的,页面一篇混乱,可以确定确实没有加载到css。因为这是WordPress的主题,是要被WordPress的主程序调用,经过层层解析才能把你的博客显示出来,而不是简简单单的html静态网页文件。正确的改法:


bloginfo(‘stylesheet_url’)输出的是你的主题css文件绝对网址,如http://localhost/wp/wp-content/themes/Aurelius/style.css,WordPress程序会自动识别你的WordPress安装地址,当前启用的主题,自动输出这个style.css链接。现在你可以试着更改一下,然后刷新一下你的博客首页,查看网页源代码,style.css的链接是不是变成你的了?页面是否可以正常显示了呢?
如果你的css文件不是style.css,且不是在主题根目录下,那怎么办呢?我们可以用来获取主题根目录的URL,如你的主题css文件是abc.css,那么我们可以这样写:/abc.css,如果是在子目录css下那就这样:/css/abc.css。同样加载js文件也是这样。

添加pingback

至于什么是pingback,你可以在搜索引擎中输入关键字:WordPress pingback,就可以得到你想要的答案了。如果你需要这个功能,可以在里面添加以下代码:


[v_tips]WordPress中Ping、Pingback、Trackback三者之间的定义与区别点击查看[/v_tips]

更改博客名称和描述

在header.php,下面两行代码用于显示博客名称和描述:

Aurelius

Our blog, keeping you up-to-date on our latest news.

上面是静态代码,现在做如下修改

现在你的博客首页看到的就是你博客名称和描述了,并且logo也是一个链接指向你的博客首页。我们这里说说这些php代码的作用。

  输出你的博客首页网址
  输出你的博客名称
  输出博客描述

博客名称和描述可以在WordPress管理后台 – 设置 – 常规那里更改。以后制作你自己的WordPress主题的时候,你可参照上面的说明对你的主题进行修改。

添加wp_head

有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。打开header.php,在前面添加以下代码即可:


现在打开你的博客主页,查看源代码,前面是不是多了以下类似代码(这些都是wp_head()的功劳):


 


3 条回应
  1. 领军2019-10-10 · 17:04

    路过点赞

  2. ForexRulgap2020-12-25 · 17:37

    最安全的外汇交易平台. <a href="https://cn.forex-is.com" rel="nofollow ugc">https://cn.forex-is.com</a>