输出Typecho的所有链接

2023-04-17 14:54:52 浏览数 (1)

输出Typecho的所有链接,比如输出所有分类的链接之类的,刚好有这个小需求,于是立刻就想到了Sitemap插件代码可以参考,发现其实现方式代码有点多,于是乎自己就想试试简单的方法,于是有了下面的内容。 输出所有分类的链接

原理就是用官方方法循环输出所有分类信息,然后单独将链接增加到数组里,当然也可以加别的信息,下面的其他内容方法打同小异将不再重复讲解

代码语言:javascript复制
echo "";
$cateurl=array();
Typecho_Widget::widget('Widget_Metas_Category_List')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "";

输出所有标签的链接

代码语言:javascript复制
echo "";
$cateurl=array();
Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "";

输出所有独立页面的链接

这里设置成隐藏的页面不会被输出哈

代码语言:javascript复制
echo "";
$cateurl=array();
Typecho_Widget::widget('Widget_Contents_Page_List')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "";

输出所有文章的链接

这里设置成隐藏的文章不会被输出哈,下方的999是想要输出的文章数量,填的只要超过自己的文章数量就能全部输出了

代码语言:javascript复制
echo "";
$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 "";

输出所有日期归档的链接

代码语言:javascript复制
echo "";
$cateurl=array();
Typecho_Widget::widget('Widget_Contents_Post_Date')->to($categories);
while($categories->next()){array_push($cateurl,$categories->permalink);}
print_r($cateurl);
echo "";

实际用途

可以在插件中使用,比如做个Sitemap插件,或者做静态缓存插件,需要用到页面的地址也可以用这个方式。

linkCard('.post-content','0');

0 人点赞