WordPress調(diào)用站外文章,找了很久,找到這個方法,備忘。
從wordpress2.8之后增加了一個fetch_feed函數(shù),它能獲取外部RSS Feed,從而顯示其它網(wǎng)站的文章。如果你有多個網(wǎng)站,通過fetch_feed函數(shù)你就可以相互調(diào)用并顯示多個網(wǎng)站的文章鏈接,還可以利用fetch_feed函數(shù)來采集他站的文章,當(dāng)然這個最好是經(jīng)站長允許。
本文將用最簡單的語言來說明其用法。
fetch_feed 函數(shù)的使用如下:
fetch_feed($url)
將其與目前流行的rss解析庫SimplePie結(jié)合起來使用,代碼如下:
<?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默認(rèn)的緩存文件夾是根目錄的cache文件夾,所以第一步是在網(wǎng)站的根目錄下創(chuàng)建一個777權(quán)限的名為 cache的文件夾。
get_items(0,7)中的數(shù)字“7”為你展示的列表的文章數(shù)目。
以上方法只是調(diào)用文章的標(biāo)題,如果想把文章也調(diào)用出來,可以在上面的基礎(chǔ)下加入以下代碼:
$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是文章篇數(shù)?> <li> <a href="<?php echo$item->get_permalink()?>" rel="bookmark" title="<?php echo$item->get_title()?>"><?php echo$item->get_title()?></a><!--文章標(biāo)題--> <br/><?php echo substr($item->get_description(),0,100);?><!--文章內(nèi)容,100是調(diào)用文章內(nèi)容的長短--> </li> <?php endforeach;?> </ul>