前面給大家介紹了《WordPress主題制作全過(guò)程(七):制作sidebar.php》,本文繼續(xù)給大家介紹如何制作index.php,下面一起來(lái)看一下吧~
php入門(mén)到就業(yè)線上教程:進(jìn)入學(xué)習(xí)
前面我們已經(jīng)制作完成博客所有公用頁(yè)面sidebar.php、footer.php和header.php,今天開(kāi)始我們就要制作單獨(dú)的頁(yè)面了?,F(xiàn)在我們要制作的是索引頁(yè)index.php,這里我們可以暫時(shí)把它理解成主頁(yè),但事實(shí)上它并不是首頁(yè)這么簡(jiǎn)單。
在主頁(yè)中主要就是文章列表,將你博客上的文章一篇一篇地列出來(lái)。你可能已經(jīng)注意到,主頁(yè)中每篇文章的樣式都是一樣的,只是標(biāo)題、時(shí)間、作者和摘要等文字內(nèi)容不一樣而已,嗯!我們制作index.php也只需要一篇文章的html代碼,不需要手動(dòng)地去寫(xiě)那么多文章的html,況且這樣也不是動(dòng)態(tài)的內(nèi)容。我們只需要一個(gè)循環(huán)就可以將所有文章顯示到首頁(yè)上,循環(huán)就是重復(fù)做某件事情,這里的循環(huán)是重復(fù)地輸出文章。如果你之前學(xué)過(guò)任一門(mén)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的話(huà),就不難理解什么是循環(huán),循環(huán)的作用也一想就通,如while,for,foreach……
在這里插一句,如果你真的想了解如何制作主題,請(qǐng)打開(kāi)的文本編輯器,跟著我一步一步地操作,一步一步地修改,每做一次修改就刷新一下你的博客看看有什么變化,這樣才能夠加深你的理解。如果你懶得動(dòng)手,建議以后的內(nèi)容就不用看了,看了對(duì)你幫助也不大。
現(xiàn)在開(kāi)始制作index.php。初始情況下index.php中有三篇文章,打開(kāi)index.php你可以看到文章的3個(gè)標(biāo)記<!– Blog Post –>,我們現(xiàn)在其他將兩篇文章的代碼刪除,留下一篇,并將文章摘要去除。修改后的代碼是這樣的:
<?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> ? 31st Sep, 09 ? <a href="#">1 Comment</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"> Read More...</a></p> </div> <div class="hr clearfix"> </div> <!-- Blog Navigation --> <p class="clearfix"> <a href="#" class="button float"><< Previous Posts</a> <a href="#" class="button float right">Newer Posts >></a> </p> </div> <?php get_sidebar(); ?><?php get_footer(); ?>
從上面的代碼可以看出,一篇文章的html骨架就是:
<div class="post"> <!-- Post Title --> <h3 class="title"><a href="single.html">文章標(biāo)題</a></h3> <!-- Post Data --> <p class="sub"><a href="#">標(biāo)簽1</a>, <a href="#">標(biāo)簽12</a> ? 發(fā)布時(shí)間 ? <a href="#">評(píng)論數(shù)</a></p> <div class="hr dotted clearfix"> </div> <!-- Post Image 文章的縮略圖 --> <img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" /> <!-- Post Content --> 文章內(nèi)容 <!-- Read More Button --> <p class="clearfix"><a href="single.html" class="button right"> 閱讀全文按鈕</a></p> </div> <div class="hr clearfix"> </div>
不同主題的主題的文章html骨架是不一樣的,如果你熟悉html,可以很快地分辨出文章骨架,以上是我們這個(gè)主題的骨架,我們將以此為基礎(chǔ)給index.php加上動(dòng)態(tài)內(nèi)容:
1、添加文章標(biāo)題
找到:
<h3 class="title"><a href="single.html">Loreum ipsium massa cras phasellus</a></h3>
登錄后復(fù)制
改成:
<h3 class="title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
登錄后復(fù)制
這里解釋一下這幾個(gè)php函數(shù):
- <?php the_permalink(); ?> 輸出文章的URL鏈接
- <?php the_title(); ?> 輸出文章的標(biāo)題
2、添加文章標(biāo)簽
我們很多人在寫(xiě)文章的時(shí)候都喜歡添加一些標(biāo)簽,況且側(cè)邊欄我們也加入了"標(biāo)簽云",我們的主題應(yīng)該支持標(biāo)簽。找到:
<a href="#">News</a>, <a href="#">Products</a>
登錄后復(fù)制
改成:
<?php the_tags('標(biāo)簽:', ', ', ''); ?>
登錄后復(fù)制
函數(shù)參考:the_tags
3、添加日期
找到:31st Sep, 09
改成:
<?php the_time('Y年n月j日') ?>
登錄后復(fù)制
函數(shù)參考:the_time
關(guān)于該函數(shù)中 Y n j 獲取的日期格式,你可以參考文檔(中文),選擇你喜歡的時(shí)間格式:zh-cn:自定義時(shí)間和日期
可能你看了以上提供的時(shí)間和日期文檔,還是一頭霧水,下面提供幾個(gè)示例,你就差不多能夠依樣畫(huà)葫蘆,指定自己喜歡的時(shí)間日期格式:
PHP代碼 | 輸出內(nèi)容 |
<?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、顯示評(píng)論數(shù)
現(xiàn)在我們來(lái)添加評(píng)論數(shù)代碼,查找代碼:
<a href="#">1 Comment</a>
登錄后復(fù)制
改成:
<?php comments_popup_link('0 條評(píng)論', '1 條評(píng)論', '% 條評(píng)論', '', '評(píng)論已關(guān)閉'); ?>
登錄后復(fù)制
該函數(shù)會(huì)根據(jù)文章的評(píng)論數(shù)量顯示不同的文字鏈接,0 條評(píng)論、1 條評(píng)論等等,當(dāng)然能你可以根據(jù)自己的愛(ài)好定制文字內(nèi)容。該鏈接會(huì)直接打開(kāi)對(duì)應(yīng)的文章,并移動(dòng)到文章的評(píng)論區(qū).
函數(shù)參考:comments_popup_link
5、添加編輯按鈕
如果文章作者已登錄,我們將允許他在首頁(yè)點(diǎn)擊對(duì)應(yīng)文章的編輯按鈕,就可以直接修改文章,這個(gè)功能是可選的,你可以不添加。接上面的評(píng)論按鈕,我們?cè)谄浜竺嫣砑酉鄳?yīng)代碼:
<?php comments_popup_link('0 條評(píng)論', '1 條評(píng)論', '% 條評(píng)論', '', '評(píng)論已關(guān)閉'); ?><?php edit_post_link('編輯', ' ? ', ''); ?>
登錄后復(fù)制
函數(shù)參考:edit_post_link
6、添加文章內(nèi)容
可能有些人喜歡在首頁(yè)輸出全文,而有些人喜歡在首頁(yè)輸出文章摘要,這里提供兩種方案,任君選擇。查找:<!– Post Content –>
將其改成:
<!-- Post Content --> <?php the_excerpt(); ?>
登錄后復(fù)制
只要在寫(xiě)文章的時(shí)候在"摘要"框內(nèi)填寫(xiě)摘要,在首頁(yè)顯示的就是摘要,如果不填就輸出全文!以下是方案二,用于輸出全文,除非你在文章中使用了<!– more –>,代碼修改:
<!-- Post Content --> <?php the_content('閱讀全文...'); ?>
登錄后復(fù)制
函數(shù)參考:
- the_excerpt
- the_content
7、閱讀全文
這里給添加閱讀全文鏈接,如果在6、添加文章內(nèi)容中你選擇了輸出全文,本步驟可以忽略,查找代碼:
<a href="single.html" class="button right"> Read More...</a>
登錄后復(fù)制
改成:
<a href="<?php the_permalink(); ?>" class="button right">閱讀全文</a>
登錄后復(fù)制
8、添加文章循環(huán)
到目前為止,你的首頁(yè)還只能顯示一篇文章,要想輸出所有文章,需要我們之前提到的循環(huán)。查找代碼:
<!– Blog Post –>
改成:
<!-- Blog Post --><?php if (have_posts()) : while (have_posts()) : the_post(); ?>
登錄后復(fù)制
再查找:
<div class="hr clearfix"> </div>
登錄后復(fù)制
改成:
<div class="hr clearfix"> </div><?php endwhile; ?>
登錄后復(fù)制
再次查找:
</div><?php get_sidebar(); ?>
登錄后復(fù)制
改成:
<?php else : ?> <h3 class="title"><a href="#" rel="bookmark">未找到</a></h3> <p>沒(méi)有找到任何文章!</p> <?php endif; ?> </div> <?php get_sidebar(); ?>
好了,現(xiàn)在查看你的主頁(yè),是不是可以顯示多篇文章了呢?文章數(shù)量取決于你在后臺(tái)設(shè)置每頁(yè)可顯示的文章數(shù)量。以上的循環(huán)可以簡(jiǎn)化為以下內(nèi)容,這樣看起來(lái)應(yīng)該比較容易理解了,在endwhile之前不斷地輸出每篇文章,直至文章數(shù)量達(dá)到每頁(yè)顯示的最大文章數(shù)量;如果你的博客上一篇文章都沒(méi)有,就會(huì)輸入無(wú)文章提示。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 文章html骨架 <?php endwhile; ?> <?php else : ?> 輸出找不到文章提示 <?php endif; ?>
9、添加文章分頁(yè)
上面你已經(jīng)看到,每頁(yè)只能顯示部分文章,要想看下一頁(yè),就得添加分頁(yè)?,F(xiàn)在查找代碼:
<p class="clearfix"> <a href="#" class="button float"><< Previous Posts</a> <a href="#" class="button float right">Newer Posts >></a> </p>
登錄后復(fù)制
改成:
<p class="clearfix"><?php previous_posts_link('<< 查看新文章', 0); ?> <span class="float right"><?php next_posts_link('查看舊文章 >>', 0); ?></span></p>
登錄后復(fù)制
參考函數(shù):
- previous_posts_link
- next_posts_link
10、文章縮略圖
對(duì)于大部分人來(lái)說(shuō),不太需要文章縮略圖的功能,而且有很多插件可以實(shí)現(xiàn)這個(gè)功能。這里我們將首頁(yè)的文章縮略圖代碼刪除:
<!-- Post Image --><img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />
登錄后復(fù)制
另外,還有個(gè)存檔頁(yè)面的模板archive.php,跟index.php的制作過(guò)程完全一樣,只不過(guò)需要在functions.php里添加一個(gè)函數(shù),這里就不再羅嗦,下載自己看吧,注意:functions.php中的代碼已經(jīng)修改,要想讓你的分類(lèi)、標(biāo)簽等存檔頁(yè)能夠正常顯示,請(qǐng)下載最新的functions.php覆蓋原來(lái)的。另外,標(biāo)簽頁(yè)和分類(lèi)頁(yè)支持在該頁(yè)面頂部顯示介紹,前提是你在后臺(tái)文章標(biāo)簽和分類(lèi)處要填上了描述。
好了,到目前這個(gè)主題也像個(gè)樣子了,不過(guò)還有很多要完善,后面我們將繼續(xù)完善!
推薦學(xué)習(xí):《WordPress教程》