输出Typecho的所有链接
输出Typecho的所有链接,比如输出所有分类的链接之类的,刚好有这个小需求,于是立刻就想到了Sitemap
插件代码可以参考,发现其实现方式代码有点多,于是乎自己就想试试简单的方法,于是有了下面的内容。
输出所有分类的链接
原理就是用官方方法循环输出所有分类信息,然后单独将链接增加到数组里,当然也可以加别的信息,下面的其他内容方法打同小异将不再重复讲解echo "<pre>";
$cateurl=array();
Typecho_Widget::widget('Widget_Metas_Category_List')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "</pre>";
输出所有标签的链接
echo "<pre>";
$cateurl=array();
Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "</pre>";
输出所有独立页面的链接
这里设置成隐藏的页面不会被输出哈echo "<pre>";
$cateurl=array();
Typecho_Widget::widget('Widget_Contents_Page_List')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "</pre>";
输出所有文章的链接
这里设置成隐藏的文章不会被输出哈,下方的999是想要输出的文章数量,填的只要超过自己的文章数量就能全部输出了echo "<pre>";
$cateurl=array();
Typecho_Widget::widget('Widget_Contents_Post_Recent','pageSize=999')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "</pre>";
输出所有日期归档的链接
echo "<pre>";
$cateurl=array();
Typecho_Widget::widget('Widget_Contents_Post_Date')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "</pre>";
实际用途
可以在插件中使用,比如做个Sitemap
插件,或者做静态缓存插件,需要用到页面的地址也可以用这个方式。
! 图 1 1 : https://magicblue.cn/usr/uploads/2023/04/3623029994.png
需要能玩这个游戏的老手机吗?
微信: lost155805 QQ: 1558050515