xml网站地图直接使用插件Google XML Sitemaps,HTML可调用网站地图WordPress实现文章存档页面
方法一:SQL读取数据库
方法一显示的存档页面效果是本站Sitemap其实效果就是创建一个自定义的页面模板,操作起来也很简单。你不需要知道太多的编程技术。唯一需要配置的是修改sitemap.xml的链接。方法一的优点是我用的是SQL数据直接从数据库中读取,数据库数据库两次,避免使用WordPress内置函数,速度会比较快一点;缺点是要复制的代码比较长。具体步骤如下:
1.在当前主题目录下建立新的目录php文件,命名为sitemap.php
2.在头部添加以下代码
<?php/** Template Name: sitemap* @author: Ludou* @Blog : http://www.ludou.org/*/
3.从数据库调用所有分类和文章
get_results("SELECT post_title, ID, post_name, slug, wp_terms.term_id AS catID, wp_terms.name AS categorynameFROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_termsWHERE wp_posts.ID = wp_term_relationships.object_idAND wp_terms.term_id = wp_term_taxonomy.term_idAND wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_idAND wp_term_taxonomy.taxonomy = "category"AND wp_posts.post_status = "publish"AND wp_posts.post_type = "post"ORDER BY wp_terms.term_id, wp_posts.post_date DESC");$postID = 0;if ( $categoryPosts ) :$category = $categoryPosts[0]->catID;foreach ($categoryPosts as $key => $mypost) :if($postID == 0) {echo "分类: categoryname."" href="".get_category_link($mypost->catID)."">".$mypost->categoryname."
";echo "";}if($category == $mypost->catID) {?>
";echo "- <a title='post_title; ?>" href="ID ); ?>">post_title; ?>
catID;$postID ;}else {echo "分类: categoryname."" href="".get_category_link($mypost->catID)."">".$mypost->categoryname."
";echo "";?>
";?>- <a title='post_title; ?>" href="ID ); ?>">post_title; ?>
catID;$postID = 1;}endforeach;endif;echo "页面
get_results("SELECT post_title, post_name, IDFROM {$wpdb->prefix}postsWHERE post_status = "publish"AND post_type = "page"");if ( $mypages ) :foreach ($mypages as $mypage) :?>
- <a title='post_title; ?>" href="ID ); ?>">post_title; ?>
创建为网站地图的页面sitemap,不要填写内容,选择右侧模板 sitemap,大功告成!
方法二:使用wp_get_archives函数
将上述调用数据库内容的代码转换为
echo?"
- ";wp_get_archives("type=postbypost&show_post_count=1");echo?"
但这里只列出所有文章,建议使用第一种方法。
参考:http://www.ludou.org/make-archives-of-wordpress-easily.html