纯代码获取WordPress所有文章,页面,分类,标签的静态化链接

纯代码获取WordPress所有文章,页面,分类,标签的静态化链接,这是因为技术宅最近更换了网站文章的固定链接,需要去做百度改版,因为是从/%postname%.html更改为/%post_id%,无法做规则适配,所以只能使用链接改版,于是就有了纯代码获取WordPress所有文章,页面,分类,标签的静态化链接!

获取所有文章链接代码↓

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 2000; //技术宅提示:这里的数字决定获取多少个文章链接,可根据自己站点服务器实际情况来具体填写,由于技术宅只有1000+文章,所以设置2000
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> -->
<?php
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
 <url>
 <loc><?php the_permalink(); ?></loc>
 </url>
<?php }?>
</urlset>

获取所有页面链接代码↓

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 100; //技术宅提示:页面一般不会很多,可根据自己的实际情况修改。
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> -->
<?php
$mypages = get_pages();
if(count($mypages) > 0) {
 foreach($mypages as $page) { ?>
 <url>
 <loc><?php echo get_page_link($page->ID); ?></loc>
 </url>
<?php }?>
</urlset>

获取所有分类链接代码↓

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 500; //技术宅提示:自己根据需求修改
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> -->
<?php
/* 博客分类 */
$terms = get_terms('category', 'orderby=name&hide_empty=0' );
$count = count($terms);
if($count > 0){
foreach ($terms as $term) { ?>
 <url>
 <loc><?php echo get_term_link($term, $term->slug); ?></loc>
 </url>
<?php }?>
</urlset>

获取所有标签链接代码↓

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 2000; //技术宅提示:这里的数字决定获取多少个文章链接,可根据自己站点服务器实际情况来具体填写,由于技术宅只有1000+文章,所以设置2000
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> -->
<?php
$tags = get_terms("post_tag");
foreach ( $tags as $key => $tag ) {
 $link = get_term_link( intval($tag->term_id), "post_tag" );
 if ( is_wp_error( $link ) )
 return false;
 $tags[ $key ]->link = $link;
?>
 <url>
 <loc><?php echo $link ?></loc>
 </url>
<?php }?>
</urlset>

然后,进入服务器,以 root 账号使用 wget 指令结合这个 PHP 代码文件即可生成指定的 TXT 文档。这里只以文章指令示例,页面、分类、标签请参考修改。

wget -O /***/***/jszbug.com/post.txt --no-check-certificate https://jszbug.com/post.php

以上就是纯代码获取WordPress所有文章,页面,分类,标签的静态化链接全部内容!

技术分享

轻松解决WordPress修改固定链接后已收录页面404问题

2020-8-6 21:03:42

技术分享

宝塔面板添加计划任务提示:文件写入失败,请检查是否开启系统加固功能!

2020-8-6 22:04:31

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索