• 2022-09-04被罚款200元记6分.
  • 特么的.电脑风扇坏了.快递还全部停发.太难了...求求了.疫情赶紧走吧.
  • 难啊难!要钱难!
  • 更新到WordPress5.6啦
  • 有点伤心了,今年净遇到王某海这种人.
  • 难啊难...
  • 七牛的JS SDK 的文档真坑啊.
  • 蓝奏云分享部分地区无法访问需手动修改www.lanzous.com变为:www.lanzoux.com
  • 好气啊~原来使用的CDN服务商莫名其妙的给我服务取消了~
  • 遇见一个沙雕汽车人.

WordPress无需插件自动生成XML网站地图

PHP KIENG 6年前 (2019-04-30) 223526次浏览 已收录 7个吐槽 扫描二维码

WordPress 无需插件自动生成 XML 网站地图
我原来用的柳城的网址地图也不知道咋了,后来不能用了...我这个主题自带 HTML 版的网址地图所以就不需要 HTML 版地图了!
后来看到月光和 MK 的 XML 生成代码我就操作了一手! :cool: (月光的只有文章的,没有分类,标签之类的...)
喏~上代码~:

<?php 
require('./wp-blog-header.php'); 
header("Content-type: text/xml"); 
header('HTTP/1.1 200 OK'); 
echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 https://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'; 
?> 
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?>--> 
<url>
	<loc><?php echo get_home_url(); ?></loc>
	<lastmod><?php echo gmdate('Y-m-d\TH:i:s+00:00', strtotime(get_lastpostmodified('GMT'))); ?></lastmod>
	<changefreq>daily</changefreq>
	<priority>1.0</priority>
</url>
<?php


// 文章
$posts = get_posts('numberposts=-1&orderby=post_date&order=DESC');
foreach($posts as $post) : 
?>
    <url>
        <loc><?php echo get_permalink($post->ID); ?></loc>
        <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
    </url>
<?php 
endforeach;


// 页面
$pages = get_pages('numberposts=-1&orderby=post_date&order=DESC');
foreach($pages as $page) :
?>
    <url>
        <loc><?php echo get_page_link($page->ID); ?></loc>
        <lastmod><?php echo str_replace(" ", "T", get_page($page->ID)->post_modified); ?>+00:00</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.6</priority>
    </url>
<?php 
endforeach;


// 分类
$categorys = get_terms('category', 'orderby=name&hide_empty=0');
foreach ($categorys as $category) : 
?>
    <url>
        <loc><?php echo get_term_link($category, $category->slug); ?></loc>
        <changefreq>weekly</changefreq>
        <priority>0.8</priority>
    </url>
<?php 
endforeach;


// 标签
$tags = get_terms('post_tag', 'orderby=name&hide_empty=0');
foreach ($tags as $tag) : 
?>
    <url>
        <loc><?php echo get_term_link($tag, $tag->slug); ?></loc>
        <changefreq>monthly</changefreq>
        <priority>0.4</priority>
    </url>
<?php 
endforeach;
?>
</urlset>

保存为sitemap.php到根目录

然后在宝塔任务计划里:
WordPress 无需插件自动生成 XML 网站地图

#就是下载文件到目录里的意思
wget -O /www/wwwroot/网站所在目录/sitemap.xml https://你的网址/sitemap.php>/dev/null 2>&1

WordPress 无需插件自动生成 XML 网站地图
我的大功告成!WordPress 无需插件自动生成 XML 网站地图
代码转载自:月光宅博客,我在原有基础上稍作修改!


KIENG.CN , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权
转载请注明出处:WordPress 无需插件自动生成 XML 网站地图
本文章链接:https://blog.kieng.cn/984.html
喜欢 (2)
KIENG
关于作者:
一个热衷网络的Man
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 快速获取昵称
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(7)个小伙伴在吐槽
  1. 转载屌啊
    老哥 | 中国天津 联通2019-04-30 16:08 回复 Windows 10 | Chrome 69.0.3497.100
    • 基本的
      1 | 中国天津 联通2019-05-03 14:00 回复 Linux | Chrome 74.0.3729.112
  2. 大佬,你博客有些文章是请输入密码查看加密内容,弱弱的问一句密码是多少
    支援 | 中国上海 联通2019-05-03 18:20 回复 Windows 10 | Chrome 72.0.3626.121
    • 您说的是哪个文章? :???:
      KIENG2019-05-05 12:25 回复 Windows 10 | 搜狗浏览器.X
  3. 有用
    Android | 中国辽宁鞍山市 联通2019-05-05 14:31 回复 Linux | Chrome 74.0.3729.136
  4. 楼下是疯子。哈哈
    1fg | 中国北京 鹏博士BGP2019-05-07 16:54 回复 Windows 7 | 未知浏览器
  5. 其实TAG太多了,如果能限制一下最新的TAG数量就完美了。
    落英缤纷 | 中国河北石家庄市 联通2020-12-20 01:44 回复 Windows 7 | Chrome 78.0.3904.108