什麼是文章存檔頁面? WordPress中怎麼輕鬆建立文章存檔頁面?以下這篇文章為大家介紹一下WordPress中建立存檔頁面的3種方法,希望對大家有幫助!
可能你會問,什麼是文章存檔頁面,有什麼用?在開始之前,我們先來感性認識什麼是存檔頁面,請點選查看本站的 Sitemap。你可以看到這個檔案頁面列出我部落格上所有文章和所有的頁面,一個方面如果讀者想一下子看到本站的文章,那麼到此頁面來看就輕鬆多了;另外據說對SEO有幫助,目前我還沒有證實。最後,你可能已經意識到,原來網站根目錄下方不是有個sitemap.xml了嗎?為什麼還要創建這樣的存檔頁面呢?其實sitemap.xml是給搜尋引擎蜘蛛看,而這個檔案頁面是給人看的。下面我來講講如何建立這個頁面,有興趣的可以看看。
方法一展示的檔案頁面效果就是本站的Sitemap效果,其實就是建立一個自訂的頁面模板,操作起來也很簡單,不需要你懂太多的程式技術,唯一要設定的就是修改sitemap.xml的連結。方法一的優點是,我使用的是SQL直接從資料庫中讀取數據,而且只進行兩次資料庫連接,避免了使用WordPress內建函數,速度相對來說會快那麼一點點;缺點是,你要複製的程式碼相對來說長點。以下來看看具體步驟:
1、在目前主題目錄下新建一個php文件,命名為sitemap.php,然後將page.php中的所有程式碼複製到sitemap.php中
2、刪除sitemap.php開頭的所有註釋,即/* 與*/ ,以及它們之間的所有內容
3、將第一個
<?php/* * Template Name: sitemap * @author: Ludou * @Blog : https://www.ludou.org/ */
#4、將 改成:
<div class="myArchive"> <ul> <?php /** * WordPress分类存档页面 * 作者:露兜 * 博客:https://www.ludou.org/ * 最后修改:2012年8月27日 */ $categoryPosts = $wpdb->get_results(" SELECT post_title, ID, post_name, slug, {$wpdb->prefix}terms.term_id AS catID, {$wpdb->prefix}terms.name AS categoryname FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy, {$wpdb->prefix}terms WHERE {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id AND {$wpdb->prefix}terms.term_id = {$wpdb->prefix}term_taxonomy.term_id AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id AND {$wpdb->prefix}term_taxonomy.taxonomy = 'category' AND {$wpdb->prefix}posts.post_status = 'publish' AND {$wpdb->prefix}posts.post_type = 'post' ORDER BY {$wpdb->prefix}terms.term_id, {$wpdb->prefix}posts.post_date DESC"); $postID = 0; if ( $categoryPosts ) : $category = $categoryPosts[0]->catID; foreach ($categoryPosts as $key => $mypost) : if($postID == 0) { echo '<li><strong>分类:</strong> <a title="'.$mypost->categoryname.'" href="'.get_category_link($mypost->catID).'">'.$mypost->categoryname."</a>\n"; echo '<ul>'; } if($category == $mypost->catID) { ?> <li><a title="<?php echo $mypost->post_title; ?>" href="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></a></li> <?php $category = $mypost->catID; $postID++; } else { echo "</ul>\n</li>"; echo '<li><strong>分类:</strong> <a title="'.$mypost->categoryname.'" href="'.get_category_link($mypost->catID).'">'.$mypost->categoryname."</a>\n"; echo '<ul>'; ?> <li><a title="<?php echo $mypost->post_title; ?>" href="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></a></li> <?php $category = $mypost->catID; $postID = 1; } endforeach; endif; echo "</ul>\n</li>"; ?> <li><strong>页面</strong> <ul> <?php // 读取所有页面 $mypages = $wpdb->get_results(" SELECT post_title, post_name, ID FROM {$wpdb->prefix}posts WHERE post_status = 'publish' AND post_type = 'page'"); if ( $mypages ) : foreach ($mypages as $mypage) : ?> <li><a title="<?php echo $mypage->post_title; ?>" href="<?php echo get_permalink( $mypage->ID ); ?>"><?php echo $mypage->post_title; ?></a></li> <?php endforeach; echo "</ul>\n</li>"; endif; ?> </ul> <p><a href="https://www.ludou.org/sitemap.xml">查看 sitemap.xml</a></p> </div>
最後最後第二行的https://www.ludou.org/sitemap. xml 改成你自己的sitemap.xml 連結就可以了,修改完之後記得用UTF-8編碼保存,否則中文可能會亂碼。上面的程式碼直接用到你的WordPress網站中理論上講是沒多大問題,但是可能在美觀程度上會有一定的問題,你可以根據個人能力用CSS稍微修飾一下就可以了,另外我這裡提供了一個CSS的範例,你可以參考,複製到主題目錄下的style.css中,可能會達到本站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、進入WordPress管理後台-頁面- 創建頁面,標題為文章存檔(可以自己命名),內容不要填,右側可以選擇模板,選擇sitemap 即可
6、文章存檔頁就創建成功了。
方法二的操作也很簡單,程式碼量較少,但這裡只是純粹地列出所有的文章,並不會像方法一那樣按分類來列出文章,略顯單調,不過如果嫌方法一麻煩的話可以試試。以下是具體操作方法:
1~3步跟方法一是一樣的,第4步:
將the_content();
改成以下程式碼就可以了:
echo '<ul>'; wp_get_archives('type=postbypost&show_post_count=1'); echo '</ul>';
5~6步驟也跟方法一一樣。
關於WordPress存檔頁面的外掛程式由很多,有興趣的話,請自行搜索,這裡就不仔細介紹。
推薦學習:《WordPress教學》
以上是詳解WordPress中怎麼建立文章存檔頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!