在我正在进行的任氏有无轩改版中,我希望在首页获得我的博客的一些信息,比如最新发布的五个帖子。
我使用的博客后台是Wordpress,它提供了很好的编程接口,可以轻松地完成这个任务。而且Wordpress也提供了这些编程接口的说明。
WordPress对博客信息的操作是通过所谓的XML-RPC实现的,其官方文档见此处。它也提供了诸如MetaWeblog API接口和其它格式的API接口。经过比较后,我还是选择使用MetaWeblog API接口,主要是因为它调用相对更加简单,返回值虽然不完整,但是够用也很精练。
获取最新的若干(缺省为4)篇帖子的代码如下:
private function getRecentPostsFromWP($num=4)
{
require_once 'wordpress/wp-includes/class-IXR.php';
$user='user';
$pwd='password';
$xmlclient='http://www.rsywx.net/wordpress/xmlrpc.php';
$client=new IXR_Client($xmlclient);
$params=array(0, $user, $pwd, $num);
$client->query('metaWeblog.getRecentPosts', $params);
$posts=$client->getResponse();
return $posts;
}
这个函数以数组形式返回最新的几个帖子,在Twig中可以进一步使用诸如:
{{rp.title}}
{{rp.dateCreated.year}}年{{rp.dateCreated.month}}月{{rp.dateCreated.day}}日
{{rp.description|striptags|truncate(120)}}
等方式获取相关信息并展示。
有兴趣的读者可以进一步参阅API说明,挖掘Wordpress更多的功能,并应用到自己的站点中。
Leave a Reply