WordPress代码实现xml网站地图

2019年9月2日05:32:50 2 29,717人围观

WordPress不使用插件代码实现博客网站地图sitemap.xml的方法,需要添加伪静态规则。WordPress代码实现xml网站地图

  1. 在网站根目录新建一个Sitemap.php文件
  2. 文件中填入以下代码:
  1. <?php
  2. require('./wp-blog-header.php');
  3. header("Content-type: text/xml");
  4. header('HTTP/1.1 200 OK');
  5. echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  6. xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 https://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
  7. ?>
  8. <!-- generated-on=<?php echo get_lastpostdate('blog'); ?>-->
  9. <url>
  10.     <loc><?php echo get_home_url(); ?></loc>
  11.     <lastmod><?php echo gmdate('Y-m-d\TH:i:s+00:00', strtotime(get_lastpostmodified('GMT'))); ?></lastmod>
  12.     <changefreq>daily</changefreq>
  13.     <priority>1.0</priority>
  14. </url>
  15. <?php
  16. // 文章
  17. $posts = get_posts('numberposts=-1&orderby=post_date&order=DESC');
  18. foreach($posts as $post) :
  19. ?>
  20.     <url>
  21.         <loc><?php echo get_permalink($post->ID); ?></loc>
  22.         <lastmod><?php echo str_replace(" ""T", get_post($post->ID)->post_modified); ?>+00:00</lastmod>
  23.         <changefreq>monthly</changefreq>
  24.         <priority>0.6</priority>
  25.     </url>
  26. <?php
  27. endforeach;
  28. // 页面
  29. $pages = get_pages('numberposts=-1&orderby=post_date&order=DESC');
  30. foreach($pages as $page) :
  31. ?>
  32.     <url>
  33.         <loc><?php echo get_page_link($page->ID); ?></loc>
  34.         <lastmod><?php echo str_replace(" ""T", get_page($page->ID)->post_modified); ?>+00:00</lastmod>
  35.         <changefreq>weekly</changefreq>
  36.         <priority>0.6</priority>
  37.     </url>
  38. <?php
  39. endforeach;
  40. // 分类
  41. $categorys = get_terms('category', 'orderby=name&hide_empty=0');
  42. foreach ($categorys as $category) :
  43. ?>
  44.     <url>
  45.         <loc><?php echo get_term_link($category$category->slug); ?></loc>
  46.         <changefreq>weekly</changefreq>
  47.         <priority>0.8</priority>
  48.     </url>
  49. <?php
  50. endforeach;
  51. // 标签
  52. $tags = get_terms('post_tag', 'orderby=name&hide_empty=0');
  53. foreach ($tags as $tag) :
  54. ?>
  55.     <url>
  56.         <loc><?php echo get_term_link($tag$tag->slug); ?></loc>
  57.         <changefreq>monthly</changefreq>
  58.         <priority>0.4</priority>
  59.     </url>
  60. <?php
  61. endforeach;
  62. ?>
  63. </urlset>

伪静态

  1. rewrite ^/Sitemap.xml$ /

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 梦城ツ 来自天朝的朋友 谷歌浏览器 Windows 7 山东省潍坊市 移动 0

      每次来,都有新东西哈,界面不错

      • avatar VPS234 来自天朝的朋友 谷歌浏览器 Windows 10 四川省成都市 电信 2

        博主WordPress不是有插件吗,百度和google的都有啊 : :sad: