WordPress中如何建立文章存档页面

95次阅读
没有评论

共计 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 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计3712字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)