在Symfony 2中获取WordPress信息

在我正在进行的任氏有无轩改版中,我希望在首页获得我的博客的一些信息,比如最新发布的五个帖子。

我使用的博客后台是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更多的功能,并应用到自己的站点中。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *