什么是文章存檔頁(yè)面?WordPress中怎么輕松建立文章存檔頁(yè)面?下面本篇文章給大家介紹一下WordPress中建立存檔頁(yè)面的3種方法,希望對(duì)大家有所幫助!
(資料圖片)
可能你會(huì)問,什么是文章存檔頁(yè)面,有什么用?開始之前,我們先來感性認(rèn)識(shí)一下什么是存檔頁(yè)面,請(qǐng)點(diǎn)擊查看本站的 Sitemap。你可以看到這個(gè)存檔頁(yè)面列出我博客上所有文章和所有的頁(yè)面,一個(gè)方面如果讀者想一下子看到本站的文章,那么到此頁(yè)面來看就輕松多了;另外據(jù)說對(duì)SEO有幫助,目前我還沒有證實(shí)。最后,你可能已經(jīng)意識(shí)到,原來網(wǎng)站根目錄下不是有個(gè)sitemap.xml了嗎?為什么還要?jiǎng)?chuàng)建這樣的存檔頁(yè)面呢?其實(shí)sitemap.xml是給搜索引擎蜘蛛看,而這個(gè)存檔頁(yè)面是弄給人看的。下面我來講講如何創(chuàng)建這頁(yè)面,感興趣的可以看看。
方法一展示的存檔頁(yè)面效果就是本站的Sitemap效果,其實(shí)就是創(chuàng)建一個(gè)自定義的頁(yè)面模板,操作起來也很簡(jiǎn)單,不需要你懂太多的編程技術(shù),唯一要配置的就是修改sitemap.xml的鏈接。方法一的優(yōu)點(diǎn)是,我使用的是SQL直接從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),而且只進(jìn)行兩次數(shù)據(jù)庫(kù)連接,避免了使用WordPress內(nèi)置函數(shù),速度相對(duì)來說會(huì)快那么一點(diǎn)點(diǎn);缺點(diǎn)是,你要復(fù)制的代碼相對(duì)來說長(zhǎng)點(diǎn)。下面看看具體步驟:
1、在當(dāng)前主題目錄下新建一個(gè)php文件,命名為sitemap.php,然后將page.php中的所有代碼復(fù)制到sitemap.php中2、刪除sitemap.php開頭的所有注釋,即 /* 與 */ ,以及它們之間的所有內(nèi)容3、將第一個(gè) <?php 改成
<?php/* * Template Name: sitemap * @author: Ludou * @Blog : https://www.ludou.org/ */
4、將 <?php the_content(); ?> 改成:
<div class="myArchive"><ul><?php/** * WordPress分類存檔頁(yè)面 * 作者:露兜 * 博客: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>頁(yè)面</strong><ul><?php // 讀取所有頁(yè)面 $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 >查看 sitemap.xml</a></p></div>最后將最后第二行的 https://www.ludou.org/sitemap.xml 改成你自己的 sitemap.xml 鏈接就可以了,修改完之后記得用UTF-8編碼保存,否則中文可能會(huì)亂碼。上面的代碼直接用到你的WordPress站點(diǎn)中理論上講是沒多大問題,但是可能在美觀程度上會(huì)有一定的問題,你可以根據(jù)個(gè)人能力用CSS稍微修飾一下就可以了,另外我這里提供了一個(gè)CSS的范例,你可以參考,復(fù)制到主題目錄下的style.css中,可能會(huì)達(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管理后臺(tái) - 頁(yè)面 - 創(chuàng)建頁(yè)面,標(biāo)題為文章存檔(可以自己起名),內(nèi)容不要填,右側(cè)可以選擇模板,選擇 sitemap 即可6、文章存檔頁(yè)就創(chuàng)建成功了。
方法二的操作也很簡(jiǎn)單,代碼量更少,不過這里只是純粹地列出所有的文章,并不會(huì)像方法一那樣按分類來列出文章,略顯單調(diào),不過如果嫌方法一麻煩的話可以試試。下面是具體操作方法:
1~3步跟方法一是一樣的,第4步:將 the_content();改成以下代碼就可以了:
echo "<ul>";wp_get_archives("type=postbypost&show_post_count=1");echo "</ul>";5~6步也跟方法一一樣。
關(guān)于WordPress存檔頁(yè)面的插件由很多,感興趣的話,請(qǐng)自行搜索,這里就不仔細(xì)介紹。
推薦學(xué)習(xí):《WordPress教程》
以上就是詳解WordPress中怎么建立文章存檔頁(yè)面的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
關(guān)鍵詞: