魔扣论坛

魔扣源码论坛业务
查看: 1451|回复: 5

[经验交流] WordPress主题制作全过程(八):制作index.php

[复制链接]
  • TA的每日心情
    无聊
    8 小时前
  • 签到天数: 2956 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745731
    贡献
    157909
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2015-12-14 17:50:34 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    前面我们已经制作完成博客所有公用页面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>
    4. <!-- Blog Post -->
    5. <div>
    6. <!-- Post Title -->
    7. <h3><a href="single.html">Loreum ipsium massa cras phasellus</a></h3>
    8. <!-- Post Data -->
    9. <p><a href="#">News</a>, <a href="#">Products</a> • 31st Sep, 09 • <a href="#">1 Comment</a></p>
    10. <div> </div>
    11. <!-- Post Image -->
    12. <img alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />
    13. <!-- Post Content -->

    14. <!-- Read More Button -->
    15. <p><a href="single.html"> Read More...</a></p>
    16. </div>
    17. <div> </div>

    18. <!-- Blog Navigation -->
    19. <p> <a href="#"><< Previous Posts</a> <a href="#">Newer Posts >></a> </p>
    20. </div>
    21. <?php get_sidebar(); ?>
    22. <?php get_footer(); ?>
    复制代码

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

    1. <div>
    2. <!-- Post Title -->
    3. <h3><a href="single.html">文章标题</a></h3>
    4. <!-- Post Data -->
    5. <p><a href="#">标签1</a>, <a href="#">标签12</a> • 发布时间 • <a href="#">评论数</a></p>
    6. <div> </div>
    7. <!-- Post Image 文章的缩略图 -->
    8. <img alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />
    9. <!-- Post Content -->
    10. 文章内容
    11. <!-- Read More Button -->
    12. <p><a href="single.html"> 阅读全文按钮</a></p>
    13. </div>
    14. <div> </div>
    复制代码

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

    1、添加文章标题

    找到:

    1. <h3><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
    复制代码

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

    输出文章的URL链接(参考文档
    输出文章的标题(参考文档

    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(&apos;Y年n月j日&apos;) ?>
    1999年5月1日
    <?php the_time(&apos;Y年m月d日&apos;) ?>
    1999年05月01日
    <?php the_time(&apos;Y-m-d&apos;) ?>
    1999-05-01
    <?php the_time(&apos;y-m-d H:i:s&apos;) ?>
    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('编辑', ' • ', ''); ?>
    复制代码

    函数参考:edit_post_link

    6、添加文章内容

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

    将其改成:

    1. <!-- Post Content -->
    2. <?php the_excerpt(); ?>
    复制代码

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

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

    函数参考:

    the_excerpt
    the_content

    7、阅读全文

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

    1. <a href="single.html"> Read More...</a>
    复制代码

    改成:

    1. <a href="<?php the_permalink(); ?>">阅读全文</a>
    复制代码

    8、添加文章循环

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

    1. <!-- Blog Post -->
    复制代码

    改成:

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

    再查找:


    1. <div> </div>
    2. <?php endwhile; ?>
    复制代码
    再次查找:
    1. </div>
    2. <?php get_sidebar(); ?>
    复制代码
    改成:
    1. <?php else : ?>
    2. <h3><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; ?>
    复制代码

    参考文档: The Loop

    9、添加文章分页

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

    1. <p> <a href="#"><< Previous Posts</a> <a href="#">Newer Posts >></a> </p>
    复制代码

    改成:

    1. <p><?php previous_posts_link('<< 查看新文章', 0); ?> <span><?php next_posts_link('查看旧文章 >>', 0); ?></span></p>
    复制代码

    参考函数:

    previous_posts_link
    next_posts_link

    10、文章缩略图

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

    1. <!-- Post Image -->
    2. <img alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />
    复制代码

    另外,还有个存档页面的模板archive.php,跟index.php的制作过程完全一样,只不过需要在functions.php里添加一个函数,这里就不再罗嗦,下载自己看吧,注意:functions.php中的代码已经修改,要想让你的分类、标签等存档页能够正常显示,请下载最新的functions.php覆盖原来的。另外,标签页和分类页支持在该页面顶部显示介绍,前提是你在后台文章标签和分类处要填上了描述。


    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    1

    主题

    272

    回帖

    546

    积分

    高级魔扣

    Rank: 4

    魔扣币
    273
    贡献
    273
    威望
    0
    发表于 2017-1-4 19:13:22 | 显示全部楼层
    风,吹着想念;云,裹着爱恋;山,藏着真心;水,流着柔情;雨,飘着浪漫;雾,漫着赤诚;您,怀着温馨;我,揣着思念;魔扣源码论坛祝愿我的好朋友天天开心快乐!

    该用户从未签到

    2

    主题

    239

    回帖

    481

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    240
    贡献
    240
    威望
    0
    发表于 2017-7-13 05:14:31 来自手机 | 显示全部楼层
    为毛老子总也抢不到沙发?!!

    该用户从未签到

    0

    主题

    274

    回帖

    550

    积分

    高级魔扣

    Rank: 4

    魔扣币
    276
    贡献
    276
    威望
    0
    发表于 2017-12-30 17:05:53 | 显示全部楼层
    命中有很多事情足以把你打倒,但真正能把你打倒的是你的心态。',

    该用户从未签到

    2

    主题

    252

    回帖

    506

    积分

    高级魔扣

    Rank: 4

    魔扣币
    252
    贡献
    252
    威望
    0
    发表于 2018-8-1 10:49:56 | 显示全部楼层
    想你念你,魔扣源码论坛,在心里!

    该用户从未签到

    1

    主题

    261

    回帖

    523

    积分

    高级魔扣

    Rank: 4

    魔扣币
    261
    贡献
    261
    威望
    0
    发表于 2019-3-13 18:36:33 | 显示全部楼层
    佩服佩服!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表