前两篇文章都在打基础,如果你还能看得懂,那么我们就开始真正动手来做一个主题吧。这次的主要任务就是搭建起一个最基本的主题框架来,捎带着要把header.php文件的头部做好,也就是从现在开始,我们要接触主题核心代码了,你做好准备了吗?
首先新建一个文件夹,名字叫做starter theme,然后打开你常用的编辑器,如我们第一篇文章提到的,或者是editplus,或者是notepad++,或者是其他什么,总之能用就行。新建五个文件,分别保存为style.css、header.php、index.php、sidebar.php、footer.php,文件类型保存的时候,请务必选择utf-8且不带bom编码方式,因为我们的代码中会出现很多汉字,只有这种不带bom的utf-8编码方式才能识别汉字,否则会出现乱码。
打开你的style.css文件,在文件头部添加如下代码,然后保存关闭。
/*
Theme Name: starter theme
Theme URI: http://shaodaishan.com/
Description: 这是一个具备基本功能的wordpress主题,是我的wordpress主题制作菜鸟养成计划的重要工具,
你可以从这里学会如何制作属于自己的wordpress主题。
Version: 1.0
Author: 啄木游弋,公卫研究生小站站长
Author URI: http://shaodaishan.com/
*/
上面代码的含义应该不用解释吧?就是主题名字、主题网址、主题描述以及版本、作者、作者网址等信息。如果是自己制作主题,你可以不在各个项目后填写任何东西,但这几行空白代码却是必须要添加到style.css文件最顶部的,它是wordpress程序识别主题的一个接口,没有这个接口,wordpress就不认识它是个主题。
然后打开你的index.php文件,把我们上篇文章中提到的html框架结构代码复制进去,然后你的index.php现在应该是这个样子的。
<body>
<div id="wrapper">
<header>
</header>
<section id="main">
<section id="posts">
</section>
<aside id="sidebar">
</aside>
</section>
<footer id="footer">
</footer>
</div>
</body>
请注意我在代码书写上的缩进样式,第一原则仍然是“有始有终”,第二原则是按照层级关系调整代码缩进样式。这些代码在网页中的将会如何显示?请看一眼上篇文章中的那个框架图就明白了。
接下来要做的工作是代码切割,我反复说过,主题制作就像拼图游戏,而上面的代码是一个完整的大图,我们现在需要把它切割成四块小图片。首先,将代码1-5行剪切到header.php,并保存;然后将代码8-9行剪切到sidebar.php,并保存;剪切代码10-14行到footer.php,并保存;现在我们的index.php中只剩下了第6、7行代码,也保存一下。
然后在index.php的顶部添加如下代码
<?php get_header();?>
继续在index.php的底部添加如下代码,然后保存。
<?php get_sidebar();?>
<?php get_footer();?>
现在我们的index.php文件应该是这个样子的
<?php get_header();?>
<section id="posts">
</section>
<?php get_sidebar();?>
<?php get_footer();?>
解释一下刚刚在index.php中添加的三句php代码的含义,其实看字面意思就明白了,它们分别在index.php文件中调用了header.php、sidebar.php以及footer.php,这种调用过程是在浏览器运行的时候发生的,不就相当于通过三句php代码完成了这个拼图游戏嘛,很好理解对不对?
一个css文件,四个php文件,现在starter theme的核心文件框架已经有了,下面需要做的就是我往里面添加内容了。我们首先打开header.php,这是主题的头文件,许多关键代码都要写入这个文件里面。下面是我添加完代码后的header.php。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><?php wp_title('|',true,'right'); ?><?php bloginfo('name'); ?></title>
<meta name="keywords" content="填写你的网站的关键词" />
<meta name="description" content="你的网站的简单介绍" />
<!--下面这几行,看不懂就算了,主要是提供文章以及评论的rss订阅地址,以及pingback地址用的,嘿嘿-->
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed"
href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?>Comments RSS
Feed" href="<?php bloginfo('comments_rss2_url');?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<!--下面这行,引入主题外观最重要的css文件-->
<link rel="stylesheet" type="text/css" media="screen" href="<?php bloginfo( 'template_url' );
?>/style.css" />
<!--下面我要引入js库,引入js库后,主题可以实现很多js特效,后面细讲-->
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.7.2.min.js"></script>
<!--下面的代码是为了实现html5在IE浏览器中的兼容性-->
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
<![endif]-->
<?php wp_head(); ?>
<!--下面这句代码的目的在于让主题支持嵌套评论-->
<?php if(is_singular() ) wp_enqueue_script('comment-reply'); ?>
</head>
<!--万恶的head终于结束了,代码是不是很长?看起来很头大?其实根本不用去懂,直接照抄,
哈哈,主题制作好简单,妈妈再也不用担心我的学习-->
<body>
<div id="wrapper">
<header id="header">
<hgroup>
<h1><a href="<?php bloginfo('url'); ?>" title="<?php bloginfo('name'); ?>">
<?php bloginfo('name'); ?></a></h1>
<h2><?php bloginfo('description'); ?></h2>
</hgroup>
<!--上面两行,分别设置了网站的大标题以及网站的描述-->
<nav id="mainmenu">
<?php wp_nav_menu(); ?>
</nav>
<!--上面这句代码是设置导航菜单的-->
</header>
<section id="main">
为了便于大家的理解,我已经尽可能在每一小部分代码处都添加了注释,这回应该问题不是很大吧?不要看到这么多代码就头晕,仔细瞧瞧,是有规律可循的,而且每一小块是用来干什么的,我都告诉你啦,你自己如果要做主题,其实这一块内容直接复制粘贴就行的,代码已经在我的本地电脑上运行过了。
over,今天就到这里,所有代码都有行号,哪一行不是很明白可以给我留言,我们一起讨论。这回不能一行一行的解释了,代码太多,解释不过来啦。哈哈
发表回复