首页 > 运营 > 建站经验 > 正文

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

2019-10-15 22:20:03
字体:
来源:转载
供稿:网友

 前面我们已经制作完成博客所有公用页面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. <?php get_header(); ?> 
  2.     <!-- Column 1 /Content --> 
  3.     <div class="grid_8"
  4.         <!-- Blog Post --> 
  5.         <div class="post"
  6.             <!-- Post Title --> 
  7.             <h3 class="title"><a href="single.html">Loreum ipsium massa cras phasellus</a></h3> 
  8.             <!-- Post Data --> 
  9.             <p class="sub"><a href="#">News</a>, <a href="#">Products</a> &bull; 31st Sep, 09 &bull; <a href="#">1 Comment</a></p> 
  10.             <div class="hr dotted clearfix">&nbsp;</div> 
  11.             <!-- Post Image --> 
  12.             <img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" /> 
  13.             <!-- Post Content --> 
  14.              
  15.             <!-- Read More Button --> 
  16.             <p class="clearfix"><a href="single.html" class="button right"> Read More...</a></p> 
  17.         </div> 
  18.         <div class="hr clearfix">&nbsp;</div> 
  19.          
  20.         <!-- Blog Navigation --> 
  21.         <p class="clearfix"> <a href="#" class="button float">&lt;&lt; Previous Posts</a> <a href="#" class="button float right">Newer Posts >></a> </p> 
  22.     </div> 
  23.     <?php get_sidebar(); ?> 
  24. <?php get_footer(); ?> 


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

 
  1. <div class="post"
  2.     <!-- Post Title --> 
  3.     <h3 class="title"><a href="single.html">文章标题</a></h3> 
  4.     <!-- Post Data --> 
  5.     <p class="sub"><a href="#">标签1</a>, <a href="#">标签12</a> &bull; 发布时间 &bull; <a href="#">评论数</a></p> 
  6.     <div class="hr dotted clearfix">&nbsp;</div> 
  7.     <!-- Post Image 文章的缩略图 --> 
  8.     <img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" /> 
  9.     <!-- Post Content --> 
  10.     文章内容 
  11.     <!-- Read More Button --> 
  12.     <p class="clearfix"><a href="single.html" class="button right"> 阅读全文按钮</a></p> 
  13. </div> 
  14. <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_time

     关于该函数中 Y n j 获取的日期格式,你可以参考文档(中文),选择你喜欢的时间格式:comments_popup_link

5、添加编辑按钮

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

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


函数参考:edit_post_link

6、添加文章内容

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

将其改成:

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


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

 
  1. <!-- Post Content --> 
  2. <?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、添加文章循环

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

  1. <!-- Blog Post --> 

改成:

 

 

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


再查找:

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


改成:

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


再次查找:

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


改成:

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


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

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


参考文档:  WordPress主题制作全过程(八):制作index.php 主题文件下载

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表