在文章提交后的插件钩子中想要获取文章的一些信息来处理,之前试了多次,总结出一些内容:
Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('YourPostDoIt_Plugin', 'postDoIt');
要注意这个实现方法有2个参数,post和obj,分别为post内容数组和提交后的post对象。 created和modified是时间戳。
$post['modified']
获取不到修改时间。 第一次发布时created和modified中一样的。
public static function postDoIt($post, $obj)
{
//一般在这里需要获取一些文章信息
$cid = $obj->cid; //文章唯一ID
$visibility = $post['visibility']; //文章发布状态
$created = (int)$post['created']; //文章创建时间
$modified = (int)$obj->modified; //文章修改时间
$type = $post['type']; //文章类型(post或page)
$tags = $obj->tags; //文章标签对象数组
foreach ($obj->tags as $tag) {
$tagName = $tag['name'] //标签名称
}
$categories = $obj->categories; //文章所属分类对象数组
foreach ($obj->categories as $m) {
$mName = $m['name']; //分类名称
$mid = $m['mid']; //分类ID
}
}