我正在尝试在wordpress之外创建一个外部php脚本来管理自定义后台中的帖子(使用Symfony2)。
到目前为止一切正常。我只是想知道如何通过上传图片并将其信息直接注册到Wordpress数据库来手动设置帖子缩略图,意思是:
一般情况下,我只是想知道如何在不使用Wordpress功能的情况下手动注册帖子缩略图。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
为此,您必须手动创建postmeta _wp_attachment_metadata ,这是一个序列化数组。
$ file = $ form-> getData(); $ thumb = $ file ['logo'];
列表($ width,$ height,$ type,$ attr)= getimagesize($ thumb);
使用thumbcharactéristics构建数组:
$ meta_data_value = array(); $ meta_data_value ['width'] = $ width; $ meta_data_value ['height'] = $ height; $ meta_data_value ['file'] = $ slug。'。'。$ ext;
$ sizes = array(); $ sizes ['缩略图'] =数组('file'=> $ slug。'。'。$ ext,'width'=> 125,'height'=> 150,'mime-type'=> $ MIME); $ sizes ['medium'] = array('file'=> $ slug。'。'。$ ext,'width'=> 250,'height'=> 300,'mime-type'=> $ MIME); $ meta_data_value ['sizes'] = $ sizes; $ meta_data_value ['image_meta'] = array('aperture'=> 0,'credit'=>'','camera'=>'','caption'=>'','created_timestamp'=&gt ; 0,'copyright'=>'','focal_length'=> 0,'iso'=> 0,'shutter_speed'=> 0,'title'=>''); $ meta_data_value = serialize($ meta_data_value);
最后用Doctrine添加postmeta:
$ meta_data = new PostMeta(); $ meta_data-> setkey的( '_ wp_attachment_metadata'); $ meta_data->的setValue($ meta_data_value); $ meta_data-> setPost($ logo); //假设您创建了帖子$徽标 $ EM->坚持($ meta_data); $ EM->冲洗();