Typecho Joe主题 RSS方式呈现“新闻早报”(功能可扩展)
标签搜索
侧边栏壁纸
  • 累计撰写 16 篇文章
  • 累计收到 2 条评论

Typecho Joe主题 RSS方式呈现“新闻早报”(功能可扩展)

艾霂Mr.
2024-12-22 / 0 评论 / 31 阅读 / 正在检测是否收录...

前段时间 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&nbsp;by&nbsp;<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新闻源推荐

4

评论 (0)

  取消