在文章提交后的插件钩子中想要获取文章的一些信息来处理,之前试了多次,总结出一些内容:
激活插件
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
}
}
评论