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

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

Ludou
人气: 3,207
文章目录

     前面我们已经制作完成博客所有公用页面sidebar.php、footer.php和header.php,今天开始我们就要制作单独的页面了。现在我们要制作的是索引页index.php,这里我们可以暂时把它理解成主页,但事实上它并不是首页这么简单(点此查看原因)。

     在主页中主要就是文章列表,将你博客上的文章一篇一篇地列出来。你可能已经注意到,主页中每篇文章的样式都是一样的,只是标题、时间、作者和摘要等文字内容不一样而已,嗯!我们制作index.php也只需要一篇文章的html代码,不需要手动地去写那么多文章的html,况且这样也不是动态的内容。我们只需要一个循环就可以将所有文章显示到首页上,循环就是重复做某件事情,这里的循环是重复地输出文章。如果你之前学过任一门计算机程序设计语言的话,就不难理解什么是循环,循环的作用也一想就通,如while,for,foreach……

     在这里插一句,如果你真的想了解如何制作主题,请打开的文本编辑器,跟着我一步一步地操作,一步一步地修改,每做一次修改就刷新一下你的博客看看有什么变化,这样才能够加深你的理解。如果你懒得动手,建议以后的内容就不用看了,看了对你帮助也不大。

     现在开始制作index.php。初始情况下index.php中有三篇文章,打开index.php你可以看到文章的3个标记<!-- Blog Post -->,我们现在其他将两篇文章的代码删除,留下一篇,并将文章摘要去除。修改后的代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php get_header(); ?>
     <!-- Column 1 /Content -->
     <div class="grid_8">
         <!-- Blog Post -->
         <div class="post">
             <!-- Post Title -->
             <h3 class="title"><a href="single.html">Loreum ipsium massa cras phasellus </a></h3>
             <!-- Post Data -->
             <p class="sub"><a href="#">News </a><a href="#">Products </a>  &bull; 31st Sep, 09  &bull;  <a href="#">1 Comment </a></p>
             <div class="hr dotted clearfix"> &nbsp; </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"> Read More... </a></p>
         </div>
         <div class="hr clearfix"> &nbsp; </div>
        
         <!-- Blog Navigation -->
         <p class="clearfix">  <a href="#" class="button float"> &lt;&lt; Previous Posts </a>  <a href="#" class="button float right">Newer Posts >> </a>  </p>
     </div>
     <?php get_sidebar(); ?>
<?php get_footer(); ?>

     从上面的代码可以看出,一篇文章的html骨架就是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>  &bull; 发布时间  &bull;  <a href="#">评论数 </a></p>
     <div class="hr dotted clearfix"> &nbsp; </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"> &nbsp; </div>

     不同主题的主题的文章html骨架是不一样的,如果你熟悉html,可以很快地分辨出文章骨架,以上是我们这个主题的骨架,我们将以此为基础给index.php加上动态内容:

1、添加文章标题

找到:

1
<h3 class="title"><a href="single.html">Loreum ipsium massa cras phasellus </a></h3>

改成:

1
<h3 class="title"><a href=" <?php the_permalink ( ) ;  ?>" rel="bookmark"> <?php the_title ( ) ;  ?></a></h3>

这里解释一下这几个php函数:

2、添加文章标签

     我们很多人在写文章的时候都喜欢添加一些标签,况且侧边栏我们也加入了"标签云",我们的主题应该支持标签。找到:

1
<a href="#">News </a><a href="#">Products </a>

改成:

1
<?php the_tags ( '标签:' ,  ', ' ,  '' ) ;  ?>

函数参考:the_tags

3、添加日期

找到:31st Sep, 09

改成:

1
<?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、显示评论数

现在我们来添加评论数代码,查找代码:

1
<a href="#">1 Comment </a>

改成:

1
<?php comments_popup_link ( '0 条评论' ,  '1 条评论' ,  '% 条评论' ,  '' ,  '评论已关闭' ) ;  ?>

     该函数会根据文章的评论数量显示不同的文字链接,0 条评论、1 条评论等等,当然能你可以根据自己的爱好定制文字内容。该链接会直接打开对应的文章,并移动到文章的评论区,你可以点此查看效果:2 条评论

函数参考:comments_popup_link

5、添加编辑按钮

     如果文章作者已登录,我们将允许他在首页点击对应文章的编辑按钮,就可以直接修改文章,这个功能是可选的,你可以不添加。接上面的评论按钮,我们在其后面添加相应代码:

1
<?php comments_popup_link ( '0 条评论' ,  '1 条评论' ,  '% 条评论' ,  '' ,  '评论已关闭' ) ;  ?> <?php edit_post_link ( '编辑' ,  ' &bull; ' ,  '' ) ;  ?>

函数参考:edit_post_link

6、添加文章内容

     可能有些人喜欢在首页输出全文,而有些人喜欢在首页输出文章摘要,这里提供两种方案,任君选择。查找:<!-- Post Content -->

将其改成:

1
2
<!-- Post Content -->
<?php the_excerpt ( ) ;  ?>

     只要在写文章的时候在"摘要"框内填写摘要,在首页显示的就是摘要,如果不填就输出全文!以下是方案二,用于输出全文,除非你在文章中使用了<!-- more -->,代码修改:

1
2
<!-- Post Content -->
<?php the_content ( '阅读全文...' ) ;  ?>

函数参考:

7、阅读全文

     这里给添加阅读全文链接,如果在6、添加文章内容中你选择了输出全文,本步骤可以忽略,查找代码:

1
<a href="single.html" class="button right"> Read More... </a>

改成:

1
<a href=" <?php the_permalink ( ) ;  ?>" class="button right">阅读全文</a>
8、添加文章循环

     到目前为止,你的首页还只能显示一篇文章,要想输出所有文章,需要我们之前提到的循环。查找代码:

<!-- Blog Post -->

改成:

1
2
<!-- Blog Post -->
         <?php  if  (have_posts ( ) )  :  while  (have_posts ( ) )  : the_post ( ) ;  ?>

再查找:

1
<div class="hr clearfix"> &nbsp; </div>

改成:

1
2
<div class="hr clearfix">&nbsp;</div>
         <?php  endwhile ;  ?>

再次查找:

1
2
    </div>
     <?php get_sidebar ( ) ;  ?>

改成:

1
2
3
4
5
6
         <?php  else  :  ?>
        <h3 class="title"><a href="#" rel="bookmark">未找到</a></h3>
        <p>没有找到任何文章!</p>
         <?php  endif ;  ?>
    </div>
<?php get_sidebar ( ) ;  ?>

     好了,现在查看你的主页,是不是可以显示多篇文章了呢?文章数量取决于你在后台设置每页可显示的文章数量。以上的循环可以简化为以下内容,这样看起来应该比较容易理解了,在endwhile之前不断地输出每篇文章,直至文章数量达到每页显示的最大文章数量;如果你的博客上一篇文章都没有,就会输入无文章提示。

1
2
3
4
5
6
<?php  if  (have_posts ( ) )  :  while  (have_posts ( ) )  : the_post ( ) ;  ?>
    文章html骨架
<?php  endwhile ;  ?>
<?php  else  :  ?>
    输出找不到文章提示
<?php  endif ;  ?>

参考文档: The Loop

9、添加文章分页

     上面你已经看到,每页只能显示部分文章,要想看下一页,就得添加分页。现在查找代码:

1
<p class="clearfix">  <a href="#" class="button float"> &lt;&lt; Previous Posts </a>  <a href="#" class="button float right">Newer Posts >> </a>  </p>

改成:

1
<p class="clearfix"> <?php previous_posts_link ( '&lt;&lt; 查看新文章' ,  0 ) ;  ?> <span class="float right"> <?php next_posts_link ( '查看旧文章 &gt;&gt;' ,  0 ) ;  ?></span></p>

参考函数:

10、文章缩略图

     对于大部分人来说,不太需要文章缩略图的功能,而且有很多插件可以实现这个功能。这里我们将首页的文章缩略图代码删除:

1
2
<!-- 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主题制作全过程完整列表:

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress主题制作全过程(八):制作index.php
本文地址:http://www.ludou.org/create-wordpress-themes-index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值