WordPress調用站外文章,找了很久,找到這個方法,備忘。
從wordpress2.8之后增加了一個fetch_feed函數,它能獲取外部RSS Feed,從而顯示其它網站的文章。如果你有多個網站,通過fetch_feed函數你就可以相互調用并顯示多個網站的文章鏈接,還可以利用fetch_feed函數來采集他站的文章,當然這個最好是經站長允許。
本文將用最簡單的語言來說明其用法。
fetch_feed 函數的使用如下:
fetch_feed($url)
將其與目前流行的rss解析庫SimplePie結合起來使用,代碼如下:
<?php
require_once(ABSPATH. WPINC.'/class-feed.php');
$feed= new SimplePie();
$feed->set_feed_url('http://feed.feedsky.com/biob');
$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,7) as$item):?>
<li><a href="<?php echo$item->get_permalink()?>"><?php echo$item->get_title()?></a>
<?php endforeach;?>
</li>
</ul>簡單說明下:
將feed_url替換。
SimplePie默認的緩存文件夾是根目錄的cache文件夾,所以第一步是在網站的根目錄下創建一個777權限的名為 cache的文件夾。
get_items(0,7)中的數字“7”為你展示的列表的文章數目。
以上方法只是調用文章的標題,如果想把文章也調用出來,可以在上面的基礎下加入以下代碼:
$item->get_description()
附上原始文章代碼
<?php
require_once(ABSPATH. WPINC.'/class-feed.php');
$feed= new SimplePie();
$feed->set_feed_url(array('http://www.boke8.net/feed',"http://www.zloo.net/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,2) as$item)://2是文章篇數?>
<li>
<a href="<?php echo$item->get_permalink()?>" rel="bookmark" title="<?php echo$item->get_title()?>"><?php echo$item->get_title()?></a><!--文章標題-->
<br/><?php echo substr($item->get_description(),0,100);?><!--文章內容,100是調用文章內容的長短-->
</li>
<?php endforeach;?>
</ul>





