WordPress调用其它站点文章显示在自己网站上
如果在自己WordPress网站上显示其它站点的最新文章是不是很好玩,利用wordpress2.8以上版本新增加的一个fetch_feed函数就可轻松实现。
调用其它站点文章显示在自己网站上在学做网站论坛上也用到了。本站使用的方法:网站如何调用其它wordpress网站文章(自动更新),其实这二种方法的原理是一样的。
在添加以下代码之前,应首先在网站根目录新建一个名为 cache 权限为777 的文件夹,作为缓存文件夹.然后在模板(一般是侧边栏sidebar.php模板)适当位置加入以下代码:
<?php
require_once (ABSPATH . WPINC . '/class-feed.php');
$feed = new SimplePie();
$feed->set_feed_url(array('https://www.xuewangzhan.net/feed', 'https://www.xuewangzhan.net/baike/feed')); //可以添加多个站点feed地址
$feed->enable_order_by_date(false);
$feed->set_cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache');//缓存文件夹
$feed->init();
$feed->handle_content_type();
?>
<ul>
<?php foreach ($feed->get_items(0,10) as$item)://10是文章篇数 ?>
<li>
<a href="<?php echo $item->get_permalink()?>" rel="bookmark" title="阅读> <?php echo $item->get_title()?>"><?php echo$item->get_title()?></a><!-- 文章标题 -->
<br/><?php echosubstr($item->get_description(),0,180);?><!-- 文章内容 -->
<?php endforeach; ?>
</li>
</ul>
require_once (ABSPATH . WPINC . '/class-feed.php');
$feed = new SimplePie();
$feed->set_feed_url(array('https://www.xuewangzhan.net/feed', 'https://www.xuewangzhan.net/baike/feed')); //可以添加多个站点feed地址
$feed->enable_order_by_date(false);
$feed->set_cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache');//缓存文件夹
$feed->init();
$feed->handle_content_type();
?>
<ul>
<?php foreach ($feed->get_items(0,10) as$item)://10是文章篇数 ?>
<li>
<a href="<?php echo $item->get_permalink()?>" rel="bookmark" title="阅读> <?php echo $item->get_title()?>"><?php echo$item->get_title()?></a><!-- 文章标题 -->
<br/><?php echosubstr($item->get_description(),0,180);?><!-- 文章内容 -->
<?php endforeach; ?>
</li>
</ul>
将下方的CSS代码加入到style.css中:
.rss ul li {
width:209px;
white-space:nowrap;
overflow:hidden;
line-height:23px;
}
width:209px;
white-space:nowrap;
overflow:hidden;
line-height:23px;
}
注:以上样式也可以不加,使用前可以打开rss.php修改标题及替换调用的feed地址.
感谢作者的分享!通过feed,除了能调用文章标题和描述外,是否还可以调用文章发表时间呢?如示例https://www.xuewangzhan.com/feed里的函数值,是不是通过这个函数可以调用文章发表的时间?具体该如何写呢?希望能帮忙解答一下,谢谢~
可以的,写法适用wordpress所有标签。https://www.xuewangzhan.com/wpbbs/11390.html