您好,欢迎访问一九零五行业门户网

WordPress主题制作全过程(八):制作index.php

前面给大家介绍了《wordpress主题制作全过程(七):制作sidebar.php》,本文继续给大家介绍如何制作index.php,下面一起来看一下吧~
前面我们已经制作完成博客所有公用页面sidebar.php、footer.php和header.php,今天开始我们就要制作单独的页面了。现在我们要制作的是索引页index.php,这里我们可以暂时把它理解成主页,但事实上它并不是首页这么简单。
在主页中主要就是文章列表,将你博客上的文章一篇一篇地列出来。你可能已经注意到,主页中每篇文章的样式都是一样的,只是标题、时间、作者和摘要等文字内容不一样而已,嗯!我们制作index.php也只需要一篇文章的html代码,不需要手动地去写那么多文章的html,况且这样也不是动态的内容。我们只需要一个循环就可以将所有文章显示到首页上,循环就是重复做某件事情,这里的循环是重复地输出文章。如果你之前学过任一门计算机程序设计语言的话,就不难理解什么是循环,循环的作用也一想就通,如while,for,foreach......
在这里插一句,如果你真的想了解如何制作主题,请打开的文本编辑器,跟着我一步一步地操作,一步一步地修改,每做一次修改就刷新一下你的博客看看有什么变化,这样才能够加深你的理解。如果你懒得动手,建议以后的内容就不用看了,看了对你帮助也不大。
现在开始制作index.php。初始情况下index.php中有三篇文章,打开index.php你可以看到文章的3个标记d699a3398de91626f8da48ef90fa2610,我们现在其他将两篇文章的代码删除,留下一篇,并将文章摘要去除。修改后的代码是这样的:
578c83d58b4fb2f59eaf1658e68c7eb3 bf0a7784259ea2450e04ad73e4261b25 c816fb4c82c833170a1e3d36de6e495e b9dd13fe880cb5d97a29da82b97a7677 7f51ef8274e570298e54b11fdb1f5e16 ac3a27832e918005473c47c694ceca6a c3606beab6681aa5853aec0b47ea0fb570e0cb0b1f9ab5693c68765caafc6b4cloreum ipsium massa cras phasellus5db79b134e9f6b82c0b36e0489ee08ed39528cedfa926ea0c01e69ef5b2ea9b0 3702578b6fd3101b3a82621ffd3e7b4c 40c373f4d56d7db9536913dd82742331f1b3ba8846c179e65eb68da95b01a812news5db79b134e9f6b82c0b36e0489ee08ed, f1b3ba8846c179e65eb68da95b01a812products5db79b134e9f6b82c0b36e0489ee08ed • 31st sep, 09 • f1b3ba8846c179e65eb68da95b01a8121 comment5db79b134e9f6b82c0b36e0489ee08ed94b3e26ee717c64999d7867364b1b4a3 e972da4d548fe480c40c9a2f1227ca04 16b28748ea4df4d9c2150843fecfba68 c508d4854be103cfb4b7e0d9bcaf9372 d86cddf8d691fdd46d642e760c40e628/images/610x150.gif /> e503568341a33083ea0ffa60142b17e3 afc9b62199be7498111d94fe3268e34b 2661fe612134550c8a43d6935cef3270528277898e8ea39ab50bce7f457fe13e read more...5db79b134e9f6b82c0b36e0489ee08ed94b3e26ee717c64999d7867364b1b4a3 16b28748ea4df4d9c2150843fecfba68 1cc748e10901b6715fa9087abf370429 16b28748ea4df4d9c2150843fecfba68 3f3875c94b33407c2adf38370fe28f7b 2661fe612134550c8a43d6935cef3270 0c76242f8aa99df277e784671af8a1c15db79b134e9f6b82c0b36e0489ee08ed 94b3e26ee717c64999d7867364b1b4a3 16b28748ea4df4d9c2150843fecfba68 7e289a154b156d7d8b381b9812fc24759e8f83f9df7fbb8d080845d182c4518b
从上面的代码可以看出,一篇文章的html骨架就是:<div class="post"> <!-- post title --> <h3 class="title"><a href="single.html">文章标题</a></h3> <!-- post data --> <p class="sub"><a href="#">标签1</a>, <a href="#">标签12</a> • 发布时间 • <a href="#">评论数</a></p> <div class="hr dotted clearfix"> </div> <!-- post image 文章的缩略图 --> <img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" /> <!-- post content --> 文章内容 <!-- read more button --> <p class="clearfix"><a href="single.html" class="button right"> 阅读全文按钮</a></p></div><div class="hr clearfix"> </div>
不同主题的主题的文章html骨架是不一样的,如果你熟悉html,可以很快地分辨出文章骨架,以上是我们这个主题的骨架,我们将以此为基础给index.php加上动态内容:
1、添加文章标题
找到:
<h3 class="title"><a href="single.html">loreum ipsium massa cras phasellus</a></h3>
改成:
<h3 class="title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
这里解释一下这几个php函数:
<?php the_permalink(); ?> 输出文章的url链接<?php the_title(); ?> 输出文章的标题2、添加文章标签
我们很多人在写文章的时候都喜欢添加一些标签,况且侧边栏我们也加入了"标签云",我们的主题应该支持标签。找到:
<a href="#">news</a>, <a href="#">products</a>
改成:
<?php the_tags('标签:', ', ', ''); ?>
函数参考:the_tags
3、添加日期
找到:31st sep, 09
改成:
<?php the_time('y年n月j日') ?>
函数参考:the_time
关于该函数中 y n j 获取的日期格式,你可以参考文档(中文),选择你喜欢的时间格式:zh-cn:自定义时间和日期
可能你看了以上提供的时间和日期文档,还是一头雾水,下面提供几个示例,你就差不多能够依样画葫芦,指定自己喜欢的时间日期格式:
php代码 输出内容
<?php the_time('y年n月j日') ?> 1999年5月1日
<?php the_time('y年m月d日') ?> 1999年05月01日
<?php the_time('y-m-d') ?> 1999-05-01
<?php the_time('y-m-d h:i:s') ?> 99-05-01 02:09:08
4、显示评论数
现在我们来添加评论数代码,查找代码:
<a href="#">1 comment</a>
改成:
<?php comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭'); ?>
该函数会根据文章的评论数量显示不同的文字链接,0 条评论、1 条评论等等,当然能你可以根据自己的爱好定制文字内容。该链接会直接打开对应的文章,并移动到文章的评论区.
函数参考:comments_popup_link
5、添加编辑按钮
如果文章作者已登录,我们将允许他在首页点击对应文章的编辑按钮,就可以直接修改文章,这个功能是可选的,你可以不添加。接上面的评论按钮,我们在其后面添加相应代码:
<?php comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭'); ?><?php edit_post_link('编辑', ' • ', ''); ?>
函数参考:edit_post_link
6、添加文章内容
可能有些人喜欢在首页输出全文,而有些人喜欢在首页输出文章摘要,这里提供两种方案,任君选择。查找:<!-- post content -->
将其改成:
<!-- post content --><?php the_excerpt(); ?>
只要在写文章的时候在"摘要"框内填写摘要,在首页显示的就是摘要,如果不填就输出全文!以下是方案二,用于输出全文,除非你在文章中使用了<!-- more -->,代码修改:
<!-- post content --><?php the_content('阅读全文...'); ?>
函数参考:
the_excerptthe_content7、阅读全文
这里给添加阅读全文链接,如果在6、添加文章内容中你选择了输出全文,本步骤可以忽略,查找代码:
<a href="single.html" class="button right"> read more...</a>
改成:
<a href="<?php the_permalink(); ?>" class="button right">阅读全文</a>
8、添加文章循环
到目前为止,你的首页还只能显示一篇文章,要想输出所有文章,需要我们之前提到的循环。查找代码:
<!-- blog post -->
改成:
<!-- blog post --><?php if (have_posts()) : while (have_posts()) : the_post(); ?>
再查找:
<div class="hr clearfix"> </div>
改成:
<div class="hr clearfix"> </div><?php endwhile; ?>
再次查找:
</div><?php get_sidebar(); ?>
改成:
<?php else : ?><h3 class="title"><a href="#" rel="bookmark">未找到</a></h3><p>没有找到任何文章!</p><?php endif; ?></div><?php get_sidebar(); ?>
好了,现在查看你的主页,是不是可以显示多篇文章了呢?文章数量取决于你在后台设置每页可显示的文章数量。以上的循环可以简化为以下内容,这样看起来应该比较容易理解了,在endwhile之前不断地输出每篇文章,直至文章数量达到每页显示的最大文章数量;如果你的博客上一篇文章都没有,就会输入无文章提示。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>文章html骨架<?php endwhile; ?><?php else : ?>输出找不到文章提示<?php endif; ?>
9、添加文章分页
上面你已经看到,每页只能显示部分文章,要想看下一页,就得添加分页。现在查找代码:
<p class="clearfix"> <a href="#" class="button float"><< previous posts</a> <a href="#" class="button float right">newer posts >></a> </p>
改成:
<p class="clearfix"><?php previous_posts_link('<< 查看新文章', 0); ?> <span class="float right"><?php next_posts_link('查看旧文章 >>', 0); ?></span></p>
参考函数:
previous_posts_linknext_posts_link10、文章缩略图
对于大部分人来说,不太需要文章缩略图的功能,而且有很多插件可以实现这个功能。这里我们将首页的文章缩略图代码删除:
<!-- post image --><img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />
另外,还有个存档页面的模板archive.php,跟index.php的制作过程完全一样,只不过需要在functions.php里添加一个函数,这里就不再罗嗦,下载自己看吧,注意:functions.php中的代码已经修改,要想让你的分类、标签等存档页能够正常显示,请下载最新的functions.php覆盖原来的。另外,标签页和分类页支持在该页面顶部显示介绍,前提是你在后台文章标签和分类处要填上了描述。
好了,到目前这个主题也像个样子了,不过还有很多要完善,后面我们将继续完善!
推荐学习:《wordpress教程》
以上就是wordpress主题制作全过程(八):制作index.php的详细内容。
其它类似信息

推荐信息