wordpress提供了丰富的xmlrpc接口api来供我们远程操控wp的内容。伟大的开源社区有人就将这些api做了一下封装,提供了一个功能比较完整的python库,库的使用文档地址http://python-wordpress-xmlrpc.readthedocs.org/  , 文档内容还是很全面的。这里我将自己试验的一些内容做一下总结。

wordpress有一个revision的机制,导致我们在通过api接口更新文档时,会在数据库中保存2条记录,一条是正文,另外一条 id-revision之类的记录,对我来说没什么用,所以先通过代码禁用掉。

在这个python类库中,WordPressPost对象的属性通过setattr来实现的。

查询Post

利用api可以获取指定的post的相关信息,具体有哪些信息可以参看下面新增post的那个表。一个简单的获取post列表的代码例子如下:

此外,GetPosts函数接受不同的参数来进行条件查询, 例如下面的的语句返回最近更新的100个post

下面的代码是返回从offset开始的指定条数的post条目:

 

新建Post

新建的post公国wordpress_xmlrpc.methods.posts.NewPost(WordPressPost)来创建,以下是一个简短的新建一个Post的代码段。

插入时支持的参数有:

 python中字段  xmlrpc对应字段 含义
date post_date_gmt
date_modified post_modified_gmt  post的修改时间
slug post_name
post_status post_status  post的状态, 可选draft、publish,常用publish就可以直接发布post了
title   post标题
content post_content  post 内容
excerpt post_excerpt  摘要
link
comment_status
ping_status
terms
terms_names
custom_fields
enclosure
post_format
thumbnail post_thumbnail
sticky  置顶显示, 设置True
post_type  post的类型, 默认为post, 也可以为page,
parent_id post_parent  上级文章的id
menu_order
guid
mime_type post_mime_type

设置post的category和tag, Post的terms属性对应 WordPressTerm 对象。如果要新增一个term,可以用下面的代码来进行

 

编辑Post

编辑已经发布的Post,和新建基本上一样, 还是依赖于WordPressPost结构类

上面的代码将postid是1的post进行置顶显示。

 

HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客