如何手动上传wordpress帖子缩略图[wp_database]


How to upload wordpress post thumbnail manually [ wp_database ]

我正试图在wordpress之外创建一个外部php脚本,以管理自定义后台的帖子(使用Symfony2)。

到目前为止一切都很好。我只想知道如何通过上传图片并将其信息直接注册到Wordpress数据库来手动设置帖子缩略图,意思是:

  • 要使用的上载目录
  • 哪种帖子类型
  • 岗位状态
  • postMime的维护
  • 要添加的图元
  • 。。。等等

一般来说,我只想知道如何在不使用Wordpress功能的情况下手动注册帖子缩略图。

有什么想法吗?

谢谢!

要执行此操作,必须手动创建postmeta_wp_attachment_metadata,它是一个序列化数组。

  1. 首先你得到你的缩略图:

$file=$form->getData();$thumb=$file['logo'];

  1. 您可以获得缩略图特征(宽度、高度…):

list($width,$height,$type,$attr)=getimage大小($thumb);

  1. 从拇指特征构建阵列:

    $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);

    1. 最后添加带有条令的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();