共計 3712 個字符,預計需要花費 10 分鐘才能閱讀完成。
今天丸趣 TV 小編給大家分享一下 WordPress 中如何建立文章存檔頁面的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
方法一:SQL 讀取數據庫
方法一展示的存檔頁面效果就是本站的 Sitemap 效果,其實就是創建一個自定義的頁面模板,操作起來也很簡單,不需要你懂太多的編程技術,唯一要配置的就是修改 sitemap.xml 的鏈接。方法一的優點是,我使用的是 SQL 直接從數據庫中讀取數據,而且只進行兩次數據庫連接,避免了使用 WordPress 內置函數,速度相對來說會快那么一點點;缺點是,你要復制的代碼相對來說長點。下面看看具體步驟:
1、在當前主題目錄下新建一個 php 文件,命名為 sitemap.php,然后將 page.php 中的所有代碼復制到 sitemap.php 中
2、刪除 sitemap.php 開頭的所有注釋,即 /* 與 */,以及它們之間的所有內容
3、將第一個 ?php 改成
?php/*
* Template Name: sitemap
* @author: Ludou
* @Blog : https://www.ludou.org/
*/
4、將 ?php the_content(); ? 改成:
div > 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 h3 {
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、文章存檔頁就創建成功了。
方法二:使用 wp_get_archives 函數
方法二的操作也很簡單,代碼量更少,不過這里只是純粹地列出所有的文章,并不會像方法一那樣按分類來列出文章,略顯單調,不過如果嫌方法一麻煩的話可以試試。下面是具體操作方法:
1~3 步跟方法一是一樣的,第 4 步:
將 the_content(); 改成以下代碼就可以了:
echo ul
wp_get_archives(type=postbypost show_post_count=1
echo /ul
5~6 步也跟方法一一樣。
以上就是“WordPress 中如何建立文章存檔頁面”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注丸趣 TV 行業資訊頻道。