我正试图在wordpress之外创建一个外部php脚本,以管理自定义后台的帖子(使用Symfony2)。
到目前为止一切都很好。我只想知道如何通过上传图片并将其信息直接注册到Wordpress数据库来手动设置帖子缩略图,意思是:
- 要使用的上载目录
- 哪种帖子类型
- 岗位状态
- postMime的维护
- 要添加的图元
- 。。。等等
一般来说,我只想知道如何在不使用Wordpress功能的情况下手动注册帖子缩略图。
有什么想法吗?
谢谢!
要执行此操作,必须手动创建postmeta_wp_attachment_metadata,它是一个序列化数组。
- 首先你得到你的缩略图:
$file=$form->getData();$thumb=$file['logo'];
- 您可以获得缩略图特征(宽度、高度…):
list($width,$height,$type,$attr)=getimage大小($thumb);
-
从拇指特征构建阵列:
$meta_data_value=array();$meta_data_value['width']=$width;$meta_data_value['height']=$height;$meta_data_value['file']=$slug.'.'$ext;
$sizes=数组();$sizes['thumbnail']=数组('file'=>$slug.'.'.$ext,'width'=>125,'height'=>150,'time-type'=>$mime);$sizes['medium']=数组('file'=>$slug.'.'.$ext,'width'=>250,'height'=>300,'time-type'=>$mime);$meta_data_value['sizes']=$大小;$meta_data_value['image_meta']=数组('扰动'=>0,'credit'=>','camera'=>'','caption'=>'、'created_timestamp'=>0、'copyright'=>'和'cal_length'=>0;'iso'=>0。'state_speed'=>0和'title'=>');$meta_data_value=序列化($meta_ddata_value);
-
最后添加带有条令的postmeta:
$meta_data=新PostMeta();$meta_data->setKey('_wp_attachment_metadata');$meta_data->setValue($meta_ddata_value);$meta_data->setPost($logo);//假设您创建post$徽标$em->persistent($meta_data);$em->flush();
-