詳解WordPress中怎么建立文章存檔頁面

什么是文章存檔頁面?wordpress中怎么輕松建立文章存檔頁面?下面本篇文章給大家介紹一下WordPress中建立存檔頁面的3種方法,希望對大家有所幫助!

詳解WordPress中怎么建立文章存檔頁面

可能你會問,什么是文章存檔頁面,有什么用?開始之前,我們先來感性認(rèn)識一下什么是存檔頁面,請點擊查看本站的 Sitemap。你可以看到這個存檔頁面列出我博客上所有文章和所有的頁面,一個方面如果讀者想一下子看到本站的文章,那么到此頁面來看就輕松多了;另外據(jù)說對SEO有幫助,目前我還沒有證實。最后,你可能已經(jīng)意識到,原來網(wǎng)站根目錄下不是有個sitemap.xml了嗎?為什么還要創(chuàng)建這樣的存檔頁面呢?其實sitemap.xml是給搜索引擎蜘蛛看,而這個存檔頁面是弄給人看的。下面我來講講如何創(chuàng)建這頁面,感興趣的可以看看。

方法一:SQL讀取數(shù)據(jù)庫

?????方法一展示的存檔頁面效果就是本站的Sitemap效果,其實就是創(chuàng)建一個自定義的頁面模板,操作起來也很簡單,不需要你懂太多的編程技術(shù),唯一要配置的就是修改sitemap.xml的鏈接。方法一的優(yōu)點是,我使用的是SQL直接從數(shù)據(jù)庫中讀取數(shù)據(jù),而且只進(jìn)行兩次數(shù)據(jù)庫連接,避免了使用WordPress內(nèi)置函數(shù),速度相對來說會快那么一點點;缺點是,你要復(fù)制的代碼相對來說長點。下面看看具體步驟:

1、在當(dāng)前主題目錄下新建一個php文件,命名為sitemap.php,然后將page.php中的所有代碼復(fù)制到sitemap.php中
2、刪除sitemap.php開頭的所有注釋,即 /* 與 */ ,以及它們之間的所有內(nèi)容
3、將第一個

<?php /*  * Template Name: sitemap  * @author: Ludou    * @Blog  : https://www.ludou.org/  */

4、將 改成:

<div> <ul> <?php /**  * WordPress分類存檔頁面  * 作者:露兜  * 博客:https://www.ludou.org/  * 最后修改:2012年8月27日  */     $categoryPosts = $wpdb->get_results(" ????SELECT?post_title,?ID,?post_name,?slug,?{$wpdb-&gt;prefix}terms.term_id?AS?catID,?{$wpdb-&gt;prefix}terms.name?AS?categoryname ????FROM?{$wpdb-&gt;prefix}posts,?{$wpdb-&gt;prefix}term_relationships,?{$wpdb-&gt;prefix}term_taxonomy,?{$wpdb-&gt;prefix}terms ????WHERE?{$wpdb-&gt;prefix}posts.ID?=?{$wpdb-&gt;prefix}term_relationships.object_id ????AND?{$wpdb-&gt;prefix}terms.term_id?=?{$wpdb-&gt;prefix}term_taxonomy.term_id ????AND?{$wpdb-&gt;prefix}term_taxonomy.term_taxonomy_id?=?{$wpdb-&gt;prefix}term_relationships.term_taxonomy_id ????AND?{$wpdb-&gt;prefix}term_taxonomy.taxonomy?=?'category' ????AND?{$wpdb-&gt;prefix}posts.post_status?=?'publish' ????AND?{$wpdb-&gt;prefix}posts.post_type?=?'post' ????ORDER?BY?{$wpdb-&gt;prefix}terms.term_id,?{$wpdb-&gt;prefix}posts.post_date?DESC");  ????$postID?=?0; ????if?(?$categoryPosts?)?: ????????$category?=?$categoryPosts[0]-&gt;catID; ????????foreach?($categoryPosts?as?$key?=&gt;?$mypost)?: ????????????if($postID?==?0)?{ ????????????????echo?'<li> <strong>分類:</strong>?<a>categoryname.'"?href="'.get_category_link($mypost-&gt;catID).'"&gt;'.$mypost-&gt;categoryname."</a>n"; ????????????????echo?'<ul>'; ????????????} ??????????? ????????????if($category?==?$mypost-&gt;catID)?{?????????? ?&gt; ????<li><a>post_title;??&gt;"?href="<?php  echo get_permalink( $mypost->ID?);??&gt;"&gt;<?php  echo $mypost->post_title;??&gt;</a></li> <?php                 $category = $mypost->catID; ????????????????$postID++; ????????????} ????????????else?{ ????????????????echo?"</ul>n</li>"; ????????????????echo?'<li> <strong>分類:</strong>?<a>categoryname.'"?href="'.get_category_link($mypost-&gt;catID).'"&gt;'.$mypost-&gt;categoryname."</a>n"; ????????????????echo?'<ul>'; ?&gt; ????<li><a>post_title;??&gt;"?href="<?php  echo get_permalink( $mypost->ID?);??&gt;"&gt;<?php  echo $mypost->post_title;??&gt;</a></li> <?php                 $category = $mypost->catID; ????????????????$postID?=?1; ????????????} ????????endforeach; ????endif; ????echo?"</ul>n</li>"; ?&gt;  <li> <strong>頁面</strong> <ul> <?php     // 讀取所有頁面     $mypages = $wpdb->get_results(" ????????SELECT?post_title,?post_name,?ID ????????FROM?{$wpdb-&gt;prefix}posts ????????WHERE?post_status?=?'publish' ????????AND?post_type?=?'page'");  ????if?(?$mypages?)?: ????????foreach?($mypages?as?$mypage)?: ?&gt; ????<li><a>post_title;??&gt;"?href="<?php  echo get_permalink( $mypage->ID?);??&gt;"&gt;<?php  echo $mypage->post_title;??&gt;</a></li> ????<?php  endforeach; echo "</ul>n</ul> </li>";?endif;??&gt; </ul> <p><a>查看?sitemap.xml</a></p> </div>

?????最后將最后第二行的 https://www.ludou.org/sitemap.xml 改成你自己的 sitemap.xml 鏈接就可以了,修改完之后記得用UTF-8編碼保存,否則中文可能會亂碼。上面的代碼直接用到你的WordPress站點中理論上講是沒多大問題,但是可能在美觀程度上會有一定的問題,你可以根據(jù)個人能力用CSS稍微修飾一下就可以了,另外我這里提供了一個CSS的范例,你可以參考,復(fù)制到主題目錄下的style.css中,可能會達(dá)到本站sitemap的樣式效果:

.myArchive?{ 	line-height:18px; 	margin:1.5em?0; 	color:#555555; 	font-size:14px; } .myArchive?h2?{ 	font-size:16px; 	margin:0?0?10px; 	font-weight:bold; } .myArchive?ul?{ 	line-height:21px; 	padding:0?0?0?2em; } .myArchive?ul?li?{ 	background:none; 	list-style-type:disc; 	margin:0; 	padding-left:10px; } .myArchive?a?{ 	color:#2970A6; 	outline:medium?none; 	text-decoration:none; } .myArchive?a:hover?{ 	text-decoration:underline; } .myArchive?ul?li?ul?{ 	margin:10px?0; } .myArchive?ul?li?ul?li?{ 	list-style-type:circle; }

5、進(jìn)入WordPress管理后臺 – 頁面 – 創(chuàng)建頁面,標(biāo)題為文章存檔(可以自己起名),內(nèi)容不要填,右側(cè)可以選擇模板,選擇 sitemap 即可
6、文章存檔頁就創(chuàng)建成功了。

方法二:使用wp_get_archives函數(shù)

?????方法二的操作也很簡單,代碼量更少,不過這里只是純粹地列出所有的文章,并不會像方法一那樣按分類來列出文章,略顯單調(diào),不過如果嫌方法一麻煩的話可以試試。下面是具體操作方法:

1~3步跟方法一是一樣的,第4步:
將 the_content(); 改成以下代碼就可以了:

echo?'
    ‘; wp_get_archives(‘type=postbypost&show_post_count=1’); echo?‘

‘;

5~6步也跟方法一一樣。

方法三:使用插件

?????關(guān)于WordPress存檔頁面的插件由很多,感興趣的話,請自行搜索,這里就不仔細(xì)介紹。

推薦學(xué)習(xí):《Sitemap

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊6 分享