前段时间 UP主 在网上冲浪,无意中找到了一篇关于《简单而完整的 PHP RSS 阅读器》的文章。经过小小的实验之后大为惊喜!这短短的20行代码也正好是我最近一直在找的。
因为看到别人的博客都有 每天60秒读懂世界新闻早报 功能,感觉还是挺新鲜的😏,于是我把找到的代码在Joe主题上进行了测试,效果非常不错!于是决定分享出来给大家测试,此方法使用了简单的RSS引用方式,不必再受api资源的限制,而且可扩展性也非常强。
为何选用 RSS 方式更加比 api 具有优势呢?
- rss订阅源丰富,更新节奏快,api更新不稳定,我之前的方法就经常中午才更新,这还能叫早报么
- api大部分都有调用次数显示,比如前段时间看到的一篇文章,Joe主题首页显示新闻早报API,可每日更新(功能可扩展) 中使用的ALAPI,每日仅1000次调用次数
- rss的源不仅仅是新闻,更加丰富的订阅来源,而api也就那几种了。
效果图预览
这里页面名可自定义,虽然叫新闻早报,当然也可以改成其他的🧑💻
新闻页面创建
首先我们创建一个单独的页面来作为新闻页,从 \usr\themes\Joe
主题根目录复制出一份 page.php
文件,并在头部添加以下代码。(这里把 page.php
文件重命名为 news.php
重新上传到Joe主题根目录)
<?php
/**
* 新闻导读
*
* @package custom
*
**/
?>
在你复制的 page.php
文件中,寻找到以下代码:
<?php $this->need('public/article.php'); ?>
<?php $this->need('public/handle.php'); ?>
在上述两行代码之间,添加以下代码:
<?php
$rss = simplexml_load_file('https://www.chinanews.com.cn/rss/scroll-news.xml');
$title = $rss->channel->title;
?>
<title><?php echo $title; ?></title>
<h1 style="text-align:center;">
艾霂's Blog - 新闻导读
</h1>
<?php
echo "<article class='joe_detail__article'><ol>";
foreach ($rss->channel->item as $item) {
echo "<li>";
echo "<h6><a style='color: var(--minor); display: block; margin: 10px;' target='_blank' href='" . $item->link . "'>" . $item->title . "</a></h6>";
echo "<div>" . $item->description . "</div><br>";
echo "</li>";
}
echo "</ol></article>";
?>
<p style="text-align:right;">
内容来源:<?php echo $title; ?><br>
Made by <a href="/" target="_blank">艾霂's Blog</a>
</p>
其中第二行就是我们选择的rss订阅地址,这里 UP主 用的是中国新闻网 – 即时新闻,当然你也可以换成别的,比如文章最后推荐的几个源都非常不错,你也可以自行百度。
在后台新建页面,模板选择 新闻导读 ,地址栏可以填写 news
当然自己diy其他链接也是可以的,然后发布查看效果。
我的新闻导读页面: 艾霂's Blog - 新闻导读 欢迎来踩!
如果感觉标题多余,可以删除代码中的
<h1 style="text-align:center;">
艾霂's Blog - 新闻导读
</h1>
或者
<?php $this->need('public/batten2.php'); ?>
这里我没做删除,我感觉不影响哈哈哈哈...
RSS新闻源推荐
- 如果你还不清楚去哪找RSS源 https://www.zhihu.com/question/19580096
- 如果你想找更多的源 https://docs.rsshub.app/
评论 (0)